Yii - 从控制器中的动作中搜索模型中的数据

时间:2011-11-23 10:10:29

标签: php model-view-controller model yii

我是Yii新手试图编写简单的应用程序。 我正在编写“事件”模块,我想要实现的是通过在URL中写日期来获取数据。

所以例如我有这样的URL:index.php / event / date / 2011-11-19 我创建了事件控制器,它工作正常。我甚至可以使用index.php / event / 1来加载PK(id)= 1的事件。

但我想要的是能够提供event_date(模型/数据库中的字段)并从今天开始获取所有事件。

我尝试过这样的事情:

public function actionDate($event_date=null) {

            $events=Event::model()->findAll("event_date = " . $event_date);

    $this->render('view', array(
        'model' => $events,
    ));
}

但是我有错误:在非对象上调用成员函数label()。有人知道这样做的方法吗?

1 个答案:

答案 0 :(得分:1)

Event::model()->findByPk($id);返回Event类的单个实例(一个带有$id的对象)

当您使用Event::model()->findAll("event_date = " . $event_date);时 - 您使用符合条件的对象数组

所以,试试写

if (!empty($events)) {
    $this->render('view', array(
        'model' => $events[0],
    ));
}