Hola amigos de yii,
Tengo un formulario que apartenece al model "Caja" con mismo Controlador.
Gracias a este formulario seleciono el usuario al cual a traves de un dropDownMenu le asigno una caja.
El dropDownMenu recibe el listado de usuarios por medio de una relacion que tengo con el model "User"
En el model "User" tengo un campo llamado caja_id.
Atraves de este formulario (que les recuerdo apartenece al model “Caja”) quisiera que luego que he selcionado el usuario desde el dropDown Menu, y he echo click en el boton de confirmacion, a l’ executarse la actionAsignaCaja (que esta en el mismo Controlador “Caja”) se va hacer un’ update de el usuario selecionado, pero en el model “User” (tabla user) en su campo “caja_id”, insertando el id de la caja que le he asignado en ese momento.
Claro que tiene que ser un update y no un insert.
Entonces
..............................
$caja=new User;
.......................otro codigo
$caja->attributes = $_POST['Caja'];
.......................otro codigo
$caja->caja_id=$model->caja_id;
..................otros campos........
if($caja->save())
..................
no seria bueno, por que asi tendria en mi tabla user un record que seria como un duplicate y no quiero esto en mi tabla.
Esta es un aplicacion que lleva muchos empleados y entoces cada dia cada empleado va a tener asignada una caja por trabajar.
Aciendo un insert y no un update tendria muchisimos record en la tabla user y eso seria malo por el lado de aministraccion.
Al reves cuando cada dia se asigna una caja al empleado se va a crear un nuevo record en la tabla caja de manera que cada dia puedo saber cuanto dinero ha entrado en cada una de las cajas.
Habia tambien pensado de crear otra tabla que me relacione la dos que tengo "caja y "user" pero todabia no he entendido como hacer una consulta para veer si el empleado tiene una caja asignada antes que pueda empezar a trabajar, y tambien no se como realizar todo eso.
Si pero se podria llenar el campo caja_id que tengo en la tabla user y entonces si que podria hacer esa consulta y preguntar si tiene una caja asignada gracias a
.........................
if(Yii::app()->user->caja_id==0){
//mensaje o redirect si es false;
}else{
//mensaje o render si es true;
));
..........................
o a esto tambien
User::model()->caja_id=0;
Yii::app()->user->caja_id=Yii::app()->user->caja_id;
if(User::model()->caja_id==Yii::app()->user->caja_id){
$this->redirect('nocassa');
}else{
$this->redirect('rs_step1');
}
}
Puedo utilizar Yii::app()->user->caja_id por que he modificado la classe UserIdentity creando mis variables.
Por favor alguien puede ayudarme por que hace 20 dias que entento resolver pero no me sale. Muchas gracias y espero entiendan lo que quiero hacer por que (y les pido disculpa) no escribo mui bien espanol.