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<
xxxroyxxxmustang...@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+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.
>



-- 
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 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