Yii Scope未被传递到CListView

时间:2014-12-02 08:00:53

标签: php yii

我正在尝试将此模型范围传递到我的CListView

这是我的评论模型中的范围

public function scopes()
    {
        return array(
            'lastestComment'=>array(
                    'alias' => 't',
                    'select'=>array('t.*,t2.*'),
                    'join'=>'JOIN `comments_posts` AS t2',
                    'condition'=>'t.id=t2.commentId',
                    'order'=>'t.createDate ASC',
                    'limit'=>'5'
                )
        );
    }

在我看来我有这个

$dataProvider=new CActiveDataProvider(Comment::model()->lastestComment());
$this->widget('zii.widgets.CListView', array(
                        'dataProvider'=>$dataProvider,
                        'itemView'=>'_view', //view file location
                    ));
在视图中

,然后我调用$data我只能在comments模型中获取值,而不能从我的范围连接中的comments_post表中获取值。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你不必为实现你想要的东西而复杂化,

YII总是很简单

model

中的

public function relations() {

        return array(
            'posts' => array(self::HAS_MANY, "CommentPosts", array("commentId" => "id")),
        );
    }
view

您可以将comment table中的数据作为

获取
$data->column_name

comment_post table中的数据为

foreach($data->posts as $postings){
   $postings->column_name;
}