Que bueno que te sirvió, saludos... El 27 de noviembre de 2017, 10:20, Misael Morin< xxxroyxxxmustang...@gmail.com> escribió:
> 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<xxxroyxxx...@gmail.com> >> 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 < >>> abze...@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<xxxroyxxx...@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/op >>>>>>> tout. >>>>>>> >>>>>> -- >>>>> 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 >>>>> . >>>>> >>>> >>>> >>>> >>>> -- >>>> 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+...@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+...@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. >>> >> >> >> >> -- >> 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 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.