Hola, estoy haciendo una aplicación con Yii(estoy iniciando en YII) y extjs4 en MVC
Así que el Yii solo me retorna los datos del mysql en json, y recibe las variables en GET. Solo uso (models y controller)
Bueno, mi sistema es mult usuario, y por tanto, cuando alguien agrega un nuevo registro, preciso agregar en el INSERT un campo llamada id_user, el value de este campo sera el $_SESSION[userid].
public function beforeSave(){
if($this->getIsNewRecord()){
$this->id_user = $_SESSION['userid'];
}
return parent::beforeSave(); //No olvidar esta línea
}
Cabe agregar que no estoy muy convencido de que hacer una asignación de ese tipo sea apropiada…
Especialmente sabiendo que el id del usuario SIEMPRE está disponible luego de un inicio de sesión (siguiendo las reglas de Yii)… usando la función/variable:
Yii::app()->user->id
Échele un vistazo a la documentación de CWebUser y CUserIdentity (generalmente existen en protected/components/ versiones hijas)
Lo que preciso es agregar en el select del abstractModel una condición que solo retorne los datos que en el campo id_agent tenga el id del usuario logado.
en una tabla sin relacionamiento, o sea, que tenga el campo id_agent , pude hacer aplicando un filter default.
Pero en tablas relacionadas, todavía no entendí como hacer.
La culta seria asi
SELECT * FROM compras LEFT JOIN users ON compras.id_card = users.id WHERE users.id_agent = 5
Quiero listar solo compras de usuarios que son del agent 5