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.

Responder a