Montagem de CGridView

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í.

Já vi como faz, valeu !!!

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?