Tengo un modelo User el cual esta relacionado con dos modelos
perfiles : Store y Persona

Este es mi controlador add() de UsersControllers

function add() {
                if (!empty($this->data)) {
                        $this->User->create();
                        if 
($this->User->saveAll($this->data,array('validate'=>'first'))) {
                                $this->Session->setFlash(__('The user has been 
saved', true));
                                $this->redirect(array('action' => 'index'));
                        } else {
                                $this->Session->setFlash(__('The user could not 
be saved. Please,
try again.', true));
                        }
                }
                $groups = $this->User->Group->find('list',array('fields' =>
array('Group.id','Group.name')));
                $categories = $this->User->Store->Category->find('list');
                $this->set(compact('groups','categories'));
        }

En el controlador uso el metodo saveall() para guardar datos de
diferentes tablas en mi formulario, ahora les mostrare el formulario:


        <?php echo $this->Form->create('User',array('type' => 'file'));?>
                <fieldset>
                        <legend><?php printf(__('User Record', true)); 
?></legend>
                <?php
                echo $this->Form->input('group_id',array('label'=>'¿Que 
eres?'));
                echo $this->Form->input('Store.name',array('label'=>'Nombre'));
                echo $this->Form-
>input('Store.category_id',array('label'=>'Categoria'));
                echo $this->Form-
>input('Persona.name',array('label'=>'Nombre'));
                echo $this->Form-
>input('Persona.lastname',array('label'=>'Apellidos'));
                echo $this->Form->input('username',array('label'=>'Usuario'));
                echo 
$this->Form->input('password',array('label'=>'Contraseña'));

                ?>
                </fieldset>
        <?php echo $this->Form->end(__('Submit', true));?>

Mi consulta parte aqui, fijense en el primer input del formulario, es
un campo del modelo User que esta relacionado con un modelo Group que
obtiene los nombres de 2 tipos de grupo: Tiendas o personas:

Mi idea es que a partir de lo que elija el usuario aqui se muestre o
no esto:

SI ELIJO Tiendas me muestre :
                echo $this->Form->input('Store.name',array('label'=>'Nombre'));
                echo $this->Form-
>input('Store.category_id',array('label'=>'Categoria'));
                //Y EL RESTO DEL FORMULARIO

SI ELIJO Personas me muestre :

                echo $this->Form-
>input('Persona.name',array('label'=>'Nombre'));
                echo $this->Form-
>input('Persona.lastname',array('label'=>'Apellidos'))
                //Y EL RESTO DEL FORMULARIO

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a