@EVOSandru6

Как в yii выполнить findAll в модели, унаследованной от CActiveRecord?

Добрый день.

Унаследовал ActiveRecord от CActiveRecord и в свою очередь все модели от ActiveRecord , дабы у всех моделей были типичные методы, специфичные для проекта, например создал такой метод в ActiveRecord:

static function getAll(){
        $criteria = new CDbCriteria();
        $criteria->condition = 'EXIST = 1';
        return self::findAll($criteria);
    }


Вызываю его из контроллера:

public function actionIndex()
	{
        $model = Project::getAll();
        $this->render('index',array(
            'model'=>$model
        ));
}


Ловлю ошибку:

Fatal error: Using $this when not in object context in X:\home\ferrum\www\framework\db\ar\CActiveRecord.php on line 1469

Помогите найти связь.

...

Получилось, когда я сделал метод публичным, но приходится в контроллере создавать объект, а хотелось бы обращаться статически, есть варианты?
  • Вопрос задан
  • 2467 просмотров
Решения вопроса 1
@tatarin
замени

self::findAll($criteria);
на

self::model()->findAll($criteria);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы