1

我对 yii 框架的博客演示的 blog/views/post/_view.php 中的 $data 感到困惑 我如何获得 $data 的这个属性?在哪里可以找到 $data 的定义?我在源代码中找到但没有看到任何关于作者-> 用户名、url 评论计数的行?

<div class="post">
    <div class="title">
        <?php echo CHtml::link(CHtml::encode($data->title), $data->url); ?>
    </div>
    <div class="author">
        posted by <?php echo $data->author->username . ' on ' . date('F j, Y',$data->create_time); ?>
    </div>
    <div class="content">
        <?php
            $this->beginWidget('CMarkdown', array('purifyOutput'=>true));
            echo $data->content;
            $this->endWidget();
        ?>
    </div>
    <div class="nav">
        <b>Tags:</b>
        <?php echo implode(', ', $data->tagLinks); ?>
        <br/>
        <?php echo CHtml::link('Permalink', $data->url); ?> |
        <?php echo CHtml::link("Comments ({$data->commentCount})",$data->url.'#comments'); ?> |
        Last updated on <?php echo date('F j, Y',$data->update_time); ?>
    </div>
</div>

你能帮我解释一下或给我一些链接或一些关键工作吗?感谢一切!

4

2 回答 2

3

See documentation for CListView:

The above code first creates a data provider for the Post ActiveRecord class. It then uses CListView to display every data item as returned by the data provider. The display is done via the partial view named '_post'. This partial view will be rendered once for every data item. In the view, one can access the current data item via variable $data. For more details, see itemView.

So in your context, $data is the Post being rendered.

于 2012-04-04T19:29:12.547 回答
2

$data 是具有单行数据的模型类的对象。作者是与实例为 $data 的模型的另一个模型的关系。$data->author->username 这里 username 是作者指向的模型的变量。$data->author 也被视为一个对象。它只会对作者指向的模型执行关系查询。

您可以在模型的关系()函数中看到模型的关系。试试yii指南你会找到答案的。

于 2012-04-05T10:00:57.203 回答