Filtrar Por Un Campo Personalizado

hola amigos, tengo un pequeño problema, en mi sistema tengo esta relación:

Expediente


id (pk)

entidadad_fk

no_exp

Entidad


id(pk)

nombre

organismo_fk

Organismo


id(pk)

nombre

mi problema es el siguiente en la vista admin de expediente nesecito una columna que muestre el nombre de la entidad y otra que muestre el nombre del organismo, realizar esto no me fue nada dificil, pero como organismo no pertenece a expediente cuando muestro la columna con este nombre no me permite ni filtrar ni ordenarla ascendente ni descendentemente, cosa que necesito imperiosamente para poder elaborar los reportes, ya que estos dependen de los resultados de las busquedas que se realicen en el admin. Me pudieran ayudar con esto?? Gracias

Ya lo solucionaste???

Hola,

Si te fijas, en cada modelo, encontrarás algo similar a esto:




public function relations()

{

   // NOTE: you may need to adjust the relation name and the related

   // class name for the relations automatically generated below.

   return array(

      'usuarioAgendas' => array(self::HAS_MANY, 'UsuarioAgenda', 'agen_usuario'),

      'usrRole' => array(self::BELONGS_TO, 'Roles', 'usr_role'),

      'usrCargo' => array(self::BELONGS_TO, 'Cargos', 'usr_cargo'),

      'usrArea' => array(self::BELONGS_TO, 'Area', 'usr_area'),

   );

}



esas son la relaciones con otras tablas, luego, por ejemplo en e tu CGridView debes colocar algo como




array(

   'name' => 'usr_cargo',

   'value' => '$data->nombre-fk->valor-a-mostrar',

),



Si fuera en CDetailView, sería algo como




array(

   'name' => 'usr_cargo',

   'value' => $model->nombre-fk->valor-a-mostrar,

),



muchas gracias, me sirvió de maravillas