Solucionado!!! al final me las arregle con un tema subido por otro
usuario aqui en este Grupo/Foro y lo pude adaptar a mi codigo, no
estaba captando bien el pase de argumentos...
la linea en donde me dirijo al add quedo asi
<?php echo $this->Html->link(__('Agregar', true), array('controller'
=> 'empleados', 'action' => 'add',$empresa['Empresa']['id']));?>
la funcion add quedo asi
function add($id = null) {
if (!empty($this->data)) {
$this->Empleado->create();
if ($this->Empleado->save($this->data)) {
$this->Session->setFlash(__('El registro se
guardo correctamente',
true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('El registro no
pudo guardarse.
Verifique que haya cargado todos los campos e intente nuevamente.',
true));
}
}
$this->set('idEmpresa', $id);
$localidads = $this->Empleado->Localidad->find('list',
array('order'=> array('Localidad.localidad')));
$categorias = $this->Empleado->Categoria->find('list',
array('order'=> array('Categoria.categoria')));
$empresas = $this->Empleado->Empresa->find('list',
array('order'=>
array('Empresa.razonsocial')));
$estadocivils = $this->Empleado->Estadocivil->find('list');
$this->set(compact('localidads', 'categorias', 'empresas',
'estadocivils'));
}
y por ultimo cuando estoy en el add.ctp puedo invocar a la variable
tranquilamente
echo $this->Form->input('empresa_id', array('value'=>$idEmpresa));
Ahora ya entendiiiiiiiii!!!!
gracias igual y espero que a alguien mas le sirva mi ejemplo.
Saludos!
On 23 feb, 11:15, checho <[email protected]> wrote:
> Buenos dias:
>
> Disculpen que agregue esto que seguramente ya tiene mas de una
> solucion, pero intente buscar una adecuada y no pude...
>
> La consulta es la siguiente:
>
> Tengo una estructura Empresa-Empleado en donde todo me funciona ok,
> los formularios creados con Bake (no con scaffolding sino con la
> consola de Bake) me funcionan superbien.
>
> El problema esta en que por ejemplo en la vista de Empresa (view), me
> muestra los datos de la empresa y mas abajo el bake automaticamente me
> genero el codigo para ver los registros de Empleados relacionados con
> esa empresa y ademas me genero el boton "Add" para desde ahi poder ir
> automaticamente a agregar un Empleado.
>
> El problema es que cuando le doy Add desde ahi me dirige al form Add
> de Empleado pero tengo que volver a seleccionar en el Combobox el Id
> de la empresa, la Empresa a la que pertenece el Empleado. Creo que
> automaticamente puedo pasarle el Id de la Empresa puesto que estoy
> siendo redirigido desde ahi y ese valor lo debo tener en algun lado,
> el tema es que no se como hacerlo.
>
> se entiende?
>
> El codigo del boton Add que se encuentra en el view de Empresa es el
> siguiente:
>
> <?php echo $this->Html->link(__('Agregar', true), array('controller'
> => 'empleados', 'action' => 'add'));?>
>
> La funcion Add de empleado_controller es la siguiente:
>
> function add() {
> if (!empty($this->data)) {
> $this->Empleado->create();
> if ($this->Empleado->save($this->data)) {
> $this->Session->setFlash(__('El
> registro se guardo correctamente',
> true));
> $this->redirect(array('action' =>
> 'index'));
> } else {
> $this->Session->setFlash(__('El
> registro no pudo guardarse.
> Verifique que haya cargado todos los campos e intente nuevamente.',
> true));
> }
> }
> $localidads = $this->Empleado->Localidad->find('list');
> $categorias = $this->Empleado->Categoria->find('list');
> $empresas = $this->Empleado->Empresa->find('list');
> $estadocivils = $this->Empleado->Estadocivil->find('list');
>
> $this->set(compact('localidads', 'categorias',
> 'empresas',
> 'estadocivils'));
> }
>
> Desde ya agradezco enormemente la ayuda que puedan brindarme al
> respecto. Y avisenme si necesitan mas info respecto al codigo.
>
> Un abrazo.
--
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.