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.