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 <
abzent...@gmail.com> 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<xxxroyxxxmustangxxx@
> gmail.com> 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" <xxxroyxxx...@gmail.com>
>>> 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 cakephp-es+...@googlegroups.com
>>>> .
>>>> Para publicar en este grupo, envía un correo electrónico a
>>>> cakep...@googlegroups.com.
>>>> 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 cakephp-es+unsubscribe@googleg
>> roups.com.
>> Para publicar en este grupo, envía un correo electrónico a
>> cakephp-es@googlegroups.com.
>> 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 cakephp-es+unsubscr...@googlegroups.com.
> Para publicar en este grupo, envía un correo electrónico a
> cakephp-es@googlegroups.com.
> 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 cakephp-es+unsubscr...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
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