I have many to many relation. The news can have many tags. And I want to use it in CListView.
$count=Yii::app()->db->createCommand()
->select('COUNT(*)')
->from('news n')
->leftJoin('news_tags nt', 'n.news_id = nt.news_id')
->leftJoin('tags t', 't.tag_id = nt.tags_id')
->queryScalar();
$sql = Yii::app()->db->createCommand()
->select('n.*, t.tag_name)
->from('news n')
->leftJoin('news_tags nt', 'n.news_id = nt.news_id')
->leftJoin('tags t', 't.tag_id = nt.tags_id')
->text;
$dataProvider=new CSqlDataProvider($sql,array(
'keyField'=>'news_id',
'totalItemCount'=>$count,
'pagination'=>array(
'pageSize'=>10,
),
));
//$dataProvider->getData()
When I put dataProvider to CListView it has not news list but has list of pair like news1-tag1,news1-tag2 etc.
If I used CActiveDataProvider it works fine because it has multidimensional object and there is possible to use $data->tags->tag_name. But I realy need to use CSqlDataProvider.
May sombody know simple way to get multidimensional array from CSqlDataProvider?
Thanks in advance.