У меня есть класс User который наследуется от ActiveRecord
В данном классе я расширяю метод find вот так
public static function find()
{
return new UserQuery(get_called_class());
}
и вот сам класс UserQuery
class UserQuery extends ActiveQuery
{
/**
* @param $role integer
* @return $this
*/
public function forRole($role)
{
return $this->andWhere(['role' => $role]);
}
}
И сейчас я в виде хочу получить список юзеров для grida(именно для фильтра) которые являются Провайдерами.
Делаю это вот так
User::find()->select(['username','id'])->forRole(User::ROLE_PROVIDER)->indexBy('id')->column()
интересует вопрос хорошая ли эта запись, или в виде надо как-то больше использовать возможности моделей(ActiveQuery) и вызывать какую-нить функцию UserQuery::UsersByRole(User::ROLE_PROVIDER)