Se tenho as seguinte tabelas:
tick
|idTick|idTema
tema
|idTema|nomeTema
tick.idTema faz referência para tema.idTema
Tô fazendo assim:
$dataProvider=new CActiveDataProvider('Tick');
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'idtick',
'idtema',
array(
'class'=>'CButtonColumn',
),
),
));
Como faço para mostrar o nome do tema aí ?
GeneralVini:
Se tenho as seguinte tabelas:
tick
|idTick|idTema
tema
|idTema|nomeTema
tick.idTema faz referência para tema.idTema
Tô fazendo assim:
$dataProvider=new CActiveDataProvider('Tick');
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'idtick',
'idtema',
array(
'class'=>'CButtonColumn',
),
),
));
Como faço para mostrar o nome do tema aí ?
dá uma olhada lá na documentação do CGridView tá bem explicado, mas adiantando você vai chamar a propriedade configurada no metodo relations() do seu model.
qualquer duvida posta aí.
josafafilho:
dá uma olhada lá na documentação do CGridView tá bem explicado, mas adiantando você vai chamar a propriedade configurada no metodo relations() do seu model.
qualquer duvida posta aí.
Já vi como faz, valeu !!!
lsorgetz
(Leandro)
July 9, 2010, 3:11pm
4
Precisei fazer isso também.
No meu caso uso:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'usuario-grid',
'dataProvider'=>$model->search(),
'columns'=>array(
'username',
array(
'name'=>'Pessoa_id',
'value'=>'$data->pessoa->nome',
),
'class'=>'CButtonColumn',
),
),
));
Beleza. Aparece no grid, mas percebi que o filtro não funciona com o atributo da tabela relacionada, no caso, nome da pessoa. Entretanto, se eu colocar o id da pessoa no campo de filtro, daí funciona, mas o que eu quero é filtrar pelo nome da pessoa.
Alguém passou por isso?