ENCONTRE LA SOLUCION MUCHAS GRACIAS POR TU AYUDA RESULTA QUE TENIAS RAZON 
YO NO ESTABA TOMANDO LA VARIABLE ADECUADA MI VARIABLE ES CONTENEDORE Y DE 
AHI DEBIA SELECCIONAR EL DATO ALGO ASI ENTIENDO YA QUE COMO ESA VARIABLE 
PERTENECE A UNA ENTIDAD LLEVA VARIOS DATOS SOLO HAGO LA REFERENCIA CORRECTA 
Y LISTO TE MUESTRO EL CODIGO UNICAMENTE POR SI A ALGUIEN EN UN FUTURO LE 
SIRVE 

public function add()
    {
        $contenedore = $this->Contenedores->
newEntity();

        if ($this->request->is('post')) {
            $contenedore = $this->Contenedores->patchEntity($contenedore, 
$this->request->getData());
            //return debug($contenedore);
            if ('navieras_id') {
            if ($this->Contenedores->save($contenedore))
            {

                $this->Flash->success(__('The contenedore has been 
saved.'));

                  if( $contenedore->navieras_id === 1)
                 {
                  $this->redirect(['controller'=>'Complementos', 'action' 
=> 'add']); //crea la vista uno que obviamente es un action dentro del 
controlador
                }
                else
                {
                 $this->redirect(['controller' => 'controlador','action' => 
'acccion_navieras_2']); //crea la vista dos que obviamente es un action 
dentro del controlador
                  }
                //return $this->redirect(['controller'=>'Complementos', 
'action' => 'add']);
                }
                else {

            $this->Flash->error(__('The contenedore could not be saved. 
Please, try again.'));
          }
        }}
        $navieras = $this->Contenedores->Navieras->find('list', ['keyField' 
=> 'id','valueField'=>'razon_social']);
        $this->set(compact('contenedore', 'navieras'));
        $this->set('_serialize', ['contenedore']);

    }


El lunes, 27 de noviembre de 2017, 10:04:52 (UTC-6), kraxbox escribió:
>
> object(App\Model\Entity\Contenedore) {
>
>       'clave' => 'ADEC2334343',
>       'tamaño' => '20DC',
>       'status' => 'lleno',
>       'navieras_id' => (int) 1, //aqui esta la variable
>       'shipment' => '233434343',
>       'operacion' => 'Importacion',
>       'fecha_est_arribo' => object(Cake\I18n\FrozenTime) {
>
>               'time' => '2017-11-27T15:50:00+00:00',
>               'timezone' => 'UTC',
>               'fixedNowTime' => false
>       
>       },
>
>
> entonces el case seria:
>
>
> public function add()
>     {
>         $contenedore = $this->Contenedores->newEntity();
>
>         if ($this->request->is('post')) {
>             $contenedore = $this->Contenedores->patchEntity($contenedore, 
> $this->request->getData());
>             if ($contenedore['navieras_id']) {
>             if ($this->Contenedores->save($contenedore))
>             {
>
>                 $this->Flash->success(__('The contenedore has been saved.'));
>                 swicth($contenedore['navieras_id'])
>                 {
>                   case 0:
>                   $this->redirect(['controller'=>'Complementos', 'action' => 
> 'add']); //crea la vista uno que obviamente es un action dentro del 
> controlador
>                   break;
>                   case 1:
>                   $this->redirect(['controller' => 'controlador','action' => 
> 'acccion_navieras_2']); //crea la vista dos que obviamente es un action 
> dentro del controlador
>                   break;
>                 //return $this->redirect(['controller'=>'Complementos', 
> 'action' => 'add']);  }
>             $this->Flash->error(__('The contenedore could not be saved. 
> Please, try again.'));
>
>         }}
>         $navieras = $this->Contenedores->Navieras->find('list', ['keyField' 
> => 'id','valueField'=>'razon_social']);
>         $this->set(compact('contenedore', 'navieras'));
>         $this->set('_serialize', ['contenedore']);
>
>     }
>
> El 27 de noviembre de 2017, 09:58, Misael Morin<[email protected] 
> <javascript:>> escribió:
>
>> ok mira ya lo hize y esto es lo que me arrojo solo que la instruccion es 
>> return debug($contenedore); y como puedes ver si es navieras id y es 
>> igual a 1pero no me funciona
>>
>> object(App\Model\Entity\Contenedore) {
>>
>>      'clave' => 'ADEC2334343',
>>      'tamaño' => '20DC',
>>      'status' => 'lleno',
>>      'navieras_id' => (int) 1,
>>      'shipment' => '233434343',
>>      'operacion' => 'Importacion',
>>      'fecha_est_arribo' => object(Cake\I18n\FrozenTime) {
>>
>>              'time' => '2017-11-27T15:50:00+00:00',
>>              'timezone' => 'UTC',
>>              'fixedNowTime' => false
>>      
>>      },
>>
>>
>> El 27 de noviembre de 2017, 9:35, Abraham Zenteno Sánchez <
>> [email protected] <javascript:>> escribió:
>>
>>> Al hacer clic en el boton submit todos los datos de formulario se envian 
>>> por POST si quieres visualizar que es lo que estas recibiendo por POST, 
>>> cuando realizas la siguiente instrucción:
>>>
>>> $contenedore = $this->Contenedores->patchEntity($contenedore, 
>>> $this->request->getData());
>>> debug($contenedore); //esta instrucción imprimirá todas las variables y 
>>> contenidos en formato de array para que puedas visualizar cual es el nombre 
>>> de tu variable a utilizar en el  case, si no funciona debug prueba con 
>>> print_r($contenedore)
>>>
>>> El 27 de noviembre de 2017, 07:57, Misael Morin<[email protected] 
>>> <javascript:>> escribió:
>>>
>>>> hola que tal pues supongo yo que es así como se llama la variable ya 
>>>> que el dato que se inserta es navieras_id y va. a la base de datos y si no 
>>>> es el caso como podría yo ver la variable del dato ???? y de igual manera 
>>>> nuevamente muchas gracias por tu ayuda =)
>>>>
>>>> El viernes, 24 de noviembre de 2017, 11:58:50 (UTC-6), kraxbox escribió:
>>>>>
>>>>> Debes reemplazar 'navieras_id' por la variable que viene por post o 
>>>>> data, del select que está en tu formulario y se envía por post o data.
>>>>>
>>>>>  'navieras_id' solo es un ejemplo de lo que debes poner ahí.
>>>>>
>>>>> El 24 nov. 2017 10:45 AM, "Misael Morin" <[email protected]> 
>>>>> escribió:
>>>>>
>>>>>> hola que tal gracias por ayudarme pero con el switch en el 
>>>>>> controlador me marca error con la palabra case si lo hago con if no me 
>>>>>> funciona bien no me marca error pero ignora la condición y la banca se 
>>>>>> va 
>>>>>> directo al else esto es lo que tengo con if else
>>>>>> public function add()
>>>>>>     {
>>>>>>         $contenedore = $this->Contenedores->newEntity();
>>>>>>
>>>>>>         if ($this->request->is('post')) {
>>>>>>             $contenedore = 
>>>>>> $this->Contenedores->patchEntity($contenedore, 
>>>>>> $this->request->getData());
>>>>>>             if ('navieras_id') {
>>>>>>             if ($this->Contenedores->save($contenedore))
>>>>>>             {
>>>>>>
>>>>>>                 $this->Flash->success(__('The contenedore has been 
>>>>>> saved.'));
>>>>>>
>>>>>>                   if('navieras-id' ==1){
>>>>>>                   $this->redirect(['controller'=>'Complementos', 
>>>>>> 'action' => 'add']); //crea la vista uno que obviamente es un action 
>>>>>> dentro 
>>>>>> del controlador
>>>>>>                 }
>>>>>>                 else
>>>>>>                 {
>>>>>>                  $this->redirect(['controller' => 
>>>>>> 'controlador','action' => 'acccion_navieras_2']); //crea la vista dos 
>>>>>> que 
>>>>>> obviamente es un action dentro del controlador
>>>>>>                   }
>>>>>>                 //return 
>>>>>> $this->redirect(['controller'=>'Complementos', 'action' => 'add']);
>>>>>>                 }
>>>>>>             $this->Flash->error(__('The contenedore could not be 
>>>>>> saved. Please, try again.'));
>>>>>>
>>>>>>         }}
>>>>>>         $navieras = $this->Contenedores->Navieras->find('list', 
>>>>>> ['keyField' => 'id','valueField'=>'razon_social']);
>>>>>>         $this->set(compact('contenedore', 'navieras'));
>>>>>>         $this->set('_serialize', ['contenedore']);
>>>>>>
>>>>>>     }
>>>>>>
>>>>>> y esto es lo que tu me habías propuesto:
>>>>>>
>>>>>> public function add()
>>>>>>     {
>>>>>>         $contenedore = $this->Contenedores->newEntity();
>>>>>>
>>>>>>         if ($this->request->is('post')) {
>>>>>>             $contenedore = 
>>>>>> $this->Contenedores->patchEntity($contenedore, 
>>>>>> $this->request->getData());
>>>>>>             if ('navieras_id') {
>>>>>>             if ($this->Contenedores->save($contenedore))
>>>>>>             {
>>>>>>
>>>>>>                 $this->Flash->success(__('The contenedore has been 
>>>>>> saved.'));
>>>>>>                 swicth($navieras)
>>>>>>                 {
>>>>>>                   case 0:
>>>>>>                   $this->redirect(['controller'=>'Complementos', 
>>>>>> 'action' => 'add']); //crea la vista uno que obviamente es un action 
>>>>>> dentro 
>>>>>> del controlador
>>>>>>                   break;
>>>>>>                   case 1:
>>>>>>                   $this->redirect(['controller' => 
>>>>>> 'controlador','action' => 'acccion_navieras_2']); //crea la vista dos 
>>>>>> que 
>>>>>> obviamente es un action dentro del controlador
>>>>>>                   break;
>>>>>>                 //return 
>>>>>> $this->redirect(['controller'=>'Complementos', 'action' => 'add']);  }
>>>>>>             $this->Flash->error(__('The contenedore could not be 
>>>>>> saved. Please, try again.'));
>>>>>>
>>>>>>         }}
>>>>>>         $navieras = $this->Contenedores->Navieras->find('list', 
>>>>>> ['keyField' => 'id','valueField'=>'razon_social']);
>>>>>>         $this->set(compact('contenedore', 'navieras'));
>>>>>>         $this->set('_serialize', ['contenedore']);
>>>>>>
>>>>>>     }
>>>>>>
>>>>>>
>>>>>> y este es el error que me arroja
>>>>>>
>>>>>> syntax error, unexpected 'case' (T_CASE)
>>>>>> de igual manera gracias nuevamente            
>>>>>>
>>>>>> El jueves, 23 de noviembre de 2017, 12:14:52 (UTC-6), kraxbox 
>>>>>> escribió:
>>>>>>>
>>>>>>> si lo que quieres es que después de hacer save re direcciones a una 
>>>>>>> vista determinada dependiendo de la selección en Navieras con el switch 
>>>>>>> y 
>>>>>>> redirect es suficiente
>>>>>>>
>>>>>>> //este código debe ir después del save dentro del controlador en el 
>>>>>>> action add, olvida Jquery
>>>>>>>
>>>>>>> swicth(opcion_navieras){
>>>>>>>       case 0:
>>>>>>>        $this->redirect(['controller' => 'controlador','action' => 
>>>>>>> 'acccion_navieras_1']); //crea la vista uno que obviamente es un action 
>>>>>>> dentro del controlador
>>>>>>>      break;
>>>>>>>      case 0:
>>>>>>>        $this->redirect(['controller' => 'controlador','action' => 
>>>>>>> 'acccion_navieras_2']); //crea la vista dos que obviamente es un action 
>>>>>>> dentro del controlador
>>>>>>>      break;
>>>>>>> }
>>>>>>>
>>>>>>> El jueves, 23 de noviembre de 2017, 11:59:00 (UTC-6), Misael Morin 
>>>>>>> escribió:
>>>>>>>>
>>>>>>>>
>>>>>>>>>> mas bien seria que depende la seccion de navieras el controlador 
>>>>>>>>>> envie a una vista o a otra pero no se como hacer eso seria de igual 
>>>>>>>>>> manera 
>>>>>>>>>> con jquery o como de igual manera gracias por tu pronta respuesta
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> El jueves, 23 de noviembre de 2017, 11:42:55 (UTC-6), kraxbox 
>>>>>>>> escribió:
>>>>>>>>>
>>>>>>>>> Haber si entiendo bien, dependiendo de la selección de Navieras el 
>>>>>>>>> form se redirija a diferentes acciones en el Controlador, lo que yo 
>>>>>>>>> haría 
>>>>>>>>> es cambiar la propiedad del action del Form, y esto como se cambia: 
>>>>>>>>> con 
>>>>>>>>> jquery facil
>>>>>>>>>
>>>>>>>>> $("#id_select").change(function(){
>>>>>>>>>       switch($("#id_select").val()){
>>>>>>>>>            case 0:
>>>>>>>>>                 $('#formId').attr('action', '/controlador/accion1'
>>>>>>>>> );
>>>>>>>>>                break;
>>>>>>>>>            case 1:
>>>>>>>>>                  $('#formId').attr('action', 
>>>>>>>>> '/controlador/accion2');
>>>>>>>>>                break;
>>>>>>>>>       }
>>>>>>>>> });
>>>>>>>>>
>>>>>>>>> Espero te sirva
>>>>>>>>> El jueves, 23 de noviembre de 2017, 10:32:44 (UTC-6), Misael Morin 
>>>>>>>>> escribió:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> <https://lh3.googleusercontent.com/-2uZBoCfipJc/Whb3K2Ume1I/AAAAAAAALr8/hm-CHVWA2xQUpZn0RZuKAFaFkUxfOS89QCLcBGAs/s1600/Captura%2Bde%2Bpantalla%2B2017-11-23%2B10.26.08.png>
>>>>>>>>>> Hola que tal en una vista tengo una lista desplegable que muestro 
>>>>>>>>>> datos desde otra tabla lo que quiero hacer es que si de esos datos 
>>>>>>>>>> que 
>>>>>>>>>> muestro hapag o maersk que si selecciono 1 haga una accion en el 
>>>>>>>>>> contolador 
>>>>>>>>>> y si selecciono el otro haga una accion diferente
>>>>>>>>>>
>>>>>>>>>> este es mi controlador  para esta vista pero no se como lo podria 
>>>>>>>>>> hacer si con un if o con que si alguein me pudiera ayudar se lo 
>>>>>>>>>> agradeceria 
>>>>>>>>>> mucho
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> <https://lh3.googleusercontent.com/-MopkKKEtMao/Whb33xnFcGI/AAAAAAAALsE/egH6O62n94Ik6Pn5htSqxhVcPjF-LjoiQCLcBGAs/s1600/Captura%2Bde%2Bpantalla%2B2017-11-23%2B10.25.43.png>
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" 
>>>>>> de Grupos de Google.
>>>>>> Para cancelar la suscripción a este grupo y dejar de recibir sus 
>>>>>> mensajes, envía un correo electrónico a 
>>>>>> [email protected].
>>>>>> Para publicar en este grupo, envía un correo electrónico a 
>>>>>> [email protected].
>>>>>> Visita este grupo en https://groups.google.com/group/cakephp-es.
>>>>>> Para acceder a más opciones, visita 
>>>>>> https://groups.google.com/d/optout.
>>>>>>
>>>>> -- 
>>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" 
>>>> de Grupos de Google.
>>>> Para cancelar la suscripción a este grupo y dejar de recibir sus 
>>>> mensajes, envía un correo electrónico a [email protected] 
>>>> <javascript:>.
>>>> Para publicar en este grupo, envía un correo electrónico a 
>>>> [email protected] <javascript:>.
>>>> Visita este grupo en https://groups.google.com/group/cakephp-es.
>>>> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> ISC Abraham Zenteno Sánchez
>>> Tel (222) 144 53 70
>>> Cel: 2225245575
>>>
>>> Facebook /abzenteno
>>> Twitter @abzenteno 
>>>
>>> -- 
>>> Has recibido este mensaje porque estás suscrito a un tema del grupo 
>>> "CakePHP-es" de Grupos de Google.
>>> Para cancelar la suscripción a este tema, visita 
>>> https://groups.google.com/d/topic/cakephp-es/E8Q2jtNclNQ/unsubscribe.
>>> Para cancelar la suscripción a este grupo y a todos sus temas, envía un 
>>> correo electrónico a [email protected] <javascript:>.
>>> Para publicar en este grupo, envía un correo electrónico a 
>>> [email protected] <javascript:>.
>>> Visita este grupo en https://groups.google.com/group/cakephp-es.
>>> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>>>
>>
>> -- 
>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de 
>> Grupos de Google.
>> Para cancelar la suscripción a este grupo y dejar de recibir sus 
>> mensajes, envía un correo electrónico a [email protected] 
>> <javascript:>.
>> Para publicar en este grupo, envía un correo electrónico a 
>> [email protected] <javascript:>.
>> Visita este grupo en https://groups.google.com/group/cakephp-es.
>> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> ISC Abraham Zenteno Sánchez
> Tel (222) 144 53 70
> Cel: 2225245575
>
> Facebook /abzenteno
> Twitter @abzenteno 
>

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, 
envía un correo electrónico a [email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Visita este grupo en https://groups.google.com/group/cakephp-es.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Responder a