@EVOSandru6

Как в Yii обращаться с текущей модели из базовой модели?

Привет!

Есть Базовая, модель со всякими типичными действиями. Со статическими методами разобрался, к примеру, чтобы получить все опубликованные записи, делаю так:

class ActiveRecord extends CActiveRecoed{
...
static function getAll(){
        $criteria = new CDbCriteria();
        $criteria->condition = 'EXIST = ' .STATUS_PUBLIC;
        $model = self::model(get_called_class())->findAll($criteria);
        return $model;
    }


А вот с публичным методом, который делает то же самое - проблемка,

public function published(){
        $criteria = new CDbCriteria();
        $criteria->condition = 'EXIST = '.STATUS_PUBLIC;
        $model = $this::model(get_called_class())->findAll($criteria);
        return $model;
    }


как правильно его написать?
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
vollossy
@vollossy
Веб-разработчик с небольшим опытом работы
Вместо этого:
$this::model(get_called_class())->findAll($criteria);

Используйте тот же метод, что и в первом случае
ActiveRecord::model(get_called_class())->findAll($criteria);


Тут, скорее всего, есть непонимание того, как работает наследование в php в частности и ООП в этом языке вообще. Советую почитать книгу Мэтта Зандстры "PHP. Объекты, шаблоны и методики программирования"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы