Olá pessoal,
Estou começando a usar o YII e estou com o seguinte problema.
Em uma model ‘xyz’ tenho o seguinte relation:
public function relations()
{
return array(
're_xyz' => array(self::BELONGS_TO, 'xyz', 'cod_xyz'),
're_abc' => array(self::HAS_MANY, 'abc', 'cod_abc'),
);
}
Na controller desta mesma área (xyzController) tenho o seguinte trecho que me retorna o objeto $dataProvider (CActiveDataProvider):
$dataProvider=new CActiveDataProvider('ca_convenio', array(
'criteria'=>array(
'with'=>'abc',
/*'alias'=>'??,*/ // seria aqui ?
'select'=> array(
'cod_xyl',
'data_inicio_xyz',
),
),
'pagination'=>array(
'pageSize'=>self::PAGE_SIZE,
),
));
Na view ultilizo deste objeto para uma listagem, utilizando o componente (CGridView):
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=> array(
array(
'name'=>'Xyz',
'value'=>'$data->name_xyz'
),
array(
'name'=>'codigo xyz',
'value'=>'$data->cod_xyz',
),
),
));
O retorno está ok até aqui, pois só faço uso de colunas da tabela principal da área (xyz).
Porem quando tento fazer uso de dados da tabela relacionada (abc) me retorna erro por falta de alias.
No que se refere a alias na documentação, são poucas as informações, faltam exemplos ricos parametros, normalmente são simples demais os exemplos, gostaria de saber se alguem tem um exemplo relativamente mais complexo sobre o uso do alias, onde e como fazer uso dele.