criei uma relacionamento para a tabela usuariocargo, fiz o INNER JOIN certinho, adicionei ao a function search(), para pode usar na view/index.php onde está minha CGridView, mais o filtro(input) da coluna (titulo) não aparece, caso eu precisa pesquisar pelo titulo do cargo dele, não consigo, so o filtro da tabela principal, a tabela que fiz relacionamento, não aparece, alguem tem alguma solução para isso?
O campo que estou usando da tabela usuariocargo é a titulo, e essa que não aparece no filtro da Grid.
Não obtive o resultado que eu desejava, conseguir fazer o relacionamento, mais na hora de mostrar na listagem, o campo de filtro, não aparece.
O que preciso adicionar ou altera, abaixo vou postar o codigo.
model/Usuario.php
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(
'usuariocargo' => array(self::BELONGS_TO, 'usuariocargo', 'codusuariocargo', 'joinType' => 'INNER JOIN'),
);
}
public function search() {
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('codusuario',$this->codusuario, true);
...
$criteria->addSearchCondition('titulo', $this->usuariocargo->titulo);
$criteria->addCondition('t.codusuario <> 1');
///$criteria->with = 'usuariocargo';
$criteria->select = array('t.*, usuariocargo.titulo as titulo');
$criteria->join = 'INNER JOIN usuariocargo ON t.codusuariocargo = usuariocargo.codusuariocargo';
return new CActiveDataProvider('Usuario', array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>20,
),
));
}