我是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()。有人知道这样做的方法吗?
答案 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],
));
}