I’m trying to list with CGridView posts of a specified user, but is giving error. What is the correct method of doing this?
Controller.php
public function actionListPosts($id)
{
$criteria = new CDbCriteria;
$criteria->with=array('posts');
$criteria->condition='t.id=:user_id';
$criteria->params=array(':user_id'=>$id);
$dataProvider=new CActiveDataProvider('Users', array(
'criteria' => $criteria
));
$this->render('list',array(
'dataProvider'=>$dataProvider,
));
}
View.php:
<?php $this->widget('zii.widgets.grid.CGridView',array(
'id'=>'events-grid',
'dataProvider'=>$dataProvider->posts,
'columns'=>array(
'id',
'name',
),
)); ?>
Error:
Property "CActiveDataProvider.posts" is not defined.
You must use the dataprovider for
Postmodel instead ofUsermodelin controller
and in view