Hola, necesito su ayuda
Tengo un catalogo de lideres (usuarios), un catalogo de subdirecciones(areas) y un catalogo de subdirectores (usuarios-directivos), se relacionan de la siguiente forma:
Tabla lideres: id_usuario (pk)
Tabla subdirecciones: id_subdireccion (pk)
Tabla subdirectores: id_subdirector (pk), id_lider (Fk hacia lideres), id_subdireccion (Fk hacia subdirecciones)
en mi clase CatSubdirectores tengo las siguientes relaciones:
‘cat_subdirectores’ => array(self::BELONGS_TO, ‘CatSubdirecciones’, ‘id_subdireccion’),
‘cat_lideres’ => array(self::HAS_ONE, ‘CatLideres’, ‘id_usuario’),
con un objeto CDbCriteria intento crear una consulta que me traiga todos los subdirectores que existen en la tabla:
$criteria->select = 'cat_subdireccion.nombre as subdireccion,cat_lideres.apaterno as paterno, cat_lideres.amaterno as materno,cat_lideres.nombres as nombres, cat_subdirectores.id_subdirector,cat_subdirectores.activa ';
$criteria->with = array("cat_subdirectores","cat_lideres");
al ejecutar el programa aparece el siguiente error:
CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘t.id_usuario’ in ‘on clause’
Por el error me doy cuenta que esta intentando llamar a id_usuario por medio de la tabla cat_subdirectores donde no existe ese campo, pero no entiendo porque lo intenta llamar con el alias t; lei que el alias t se le antepone a la tabla principal quien en este caso si no me equivoco es cat_subdirectores pero porque se lo antepone al campo id_usuario???