获得评论文章的文章标题

时间:2011-06-23 11:41:55

标签: php model-view-controller yii object-relational-model

我创建了一篇文章和评论模型并且两者都有CRUD。它的工作完美。我现在需要的是在Comment Crud中显示article.title字段而不是comment.articleid。我怎么能这样做?

这就是我被困住的地方。我不知道接下来该做什么或者是否正确:

public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
        'article'=>array(self::BELONGS_TO, 'Article', 'articleid')
    );
}

编辑:

这是我的代码admin.php视图文件:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'comment-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'commentid',
        'articleid',
        'content',
        'author',
        'email',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

感谢。

3 个答案:

答案 0 :(得分:1)

对于columns数组来说会是这样的:

'columns'=>array(
        'commentid',
        array(
            'name'=>'title',
            'value'=>'$data->article->title',
            'type'=>'text'
        ),
        'content',
        'author',
        'email',
        array(
            'class'=>'CButtonColumn',
        ),
    ),

答案 1 :(得分:0)

您需要在Comment模型中创建此关系,它将通过基于articleid加入文章来获取所有匹配的记录

然后,您可以通过替换要显示的值来修改视图。

答案 2 :(得分:0)

您必须使用comment-&gt; article-&gt; title而不是comment-&gt; articleid