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 > <javascript:>> 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 >> <javascript:>. >> Para publicar en este grupo, envía un correo electrónico a >> cakep...@googlegroups.com <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 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.