如何从index.php输出模型的对象?

时间:2013-06-09 14:34:46

标签: yii

我有一个型号TaxiDriver.php,控制器TaxiDriverController和它的查看页面。我想在我的主页面中显示此模型的数据。我试图创建TaxiRider.php的实例,但后来我不知道如何从对象中读取数据。我使用了findAll(),但outout不可读

2 个答案:

答案 0 :(得分:0)

在main.php

中将默认控制器从站点更改为出租车司机

答案 1 :(得分:0)

我会在你的SiteController中加载模型(假设你将它用于你的主页面。)

// SiteController.php
public function actionIndex()
{
    // Find the driver or drivers you want to display data from.
    // Nothing stops you from doing this directly in the view.
    // (But separating business logic from your presentational code can be a good idea.)
    $taxiDriver = TaxiDriver::model()->findByPk(1);
    $taxiDrivers = TaxiDriver::model()->findAll();


    // Render the page and send in the data 
    $this->render( 'index', 
        [
            'driver'=>$taxiDriver, 
            'drivers'=>$taxiDrivers
        ] 
    );
}

然后您可以像这样访问您的驱动程序数据:

// view/site/index.php
<h1>
<?php echo $driver->name; ?>   // Assuming there is a name field in your TaxiDriver.
</h1>

如果您使用了findAll(),那么您将拥有一个ActiveRecord数组:

foreach ($drivers as $driver) {
    echo $driver->name;
}

如果要显示驱动程序列表,请查看CGridViewCListView小部件。

我知道它是怎么回事 - 你想直截了当地说明似乎没有足够的例子说明你想要做的事情。但它确实存在于文档中。花点时间仔细阅读,事情会从那里加快速度。