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 [email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
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