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() для не-объекта. Кто-нибудь знает способ сделать это?


person PsychoX    schedule 23.11.2011    source источник


Ответы (1)


Event::model()->findByPk($id); возвращает один экземпляр вашего класса Event (один объект с этим $id)

При использовании Event::model()->findAll("event_date = " . $event_date); вы работаете с массивом объектов, соответствующим вашим критериям

ну попробуй напиши

if (!empty($events)) {
    $this->render('view', array(
        'model' => $events[0],
    ));
}
person Vladimir Posvistelik    schedule 23.11.2011
comment
Я также изменил критерии при использовании findAll, но теперь он работает. Спасибо :) - person PsychoX; 23.11.2011