ActiveQuery default scope

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

ActiveQuery default scope

Сообщение kukuruku »

есть несколько классов ClassSearch
в каждом классе есть

Код: Выделить всё

public $field='value';
public static function find()
    {
        return new ClassQuery(get_called_class());
    }
я хочу по умолчанию добавить условие в query, чтобы оно сразу добавлялось в каждом классе без явного вызова

Код: Выделить всё

if (Yii::$app->user->identity->group == User::ROLE_USER) {

            $field = str_replace('val1', 'val2', $this->field);

            $query->andWhere(['>=', $field, 1]);
            $query->andWhere(['<=', $field, 2]);
        }
вижу решение добавить условие в каждый find, но проблема с доступом к $this
как сделать?
Ответить