/**
  * Устанавливает ограничение на критерий запроса
  * @param \common\db\ActiveQuery $query запрос
  * @return mixed
  */
 public function applyConstraint($query)
 {
     $userId = Yii::$app->user->id;
     $cls = $query->modelClass;
     $table = $cls::tableName();
     $query->andWhere(["{{%{$table}}}.{{%author_id}}" => $userId]);
 }
 /**
  * Поиск
  * @param ActiveQuery $query
  */
 protected function search(ActiveQuery $query)
 {
     $table = $this->model->tableName();
     $relatedClass = $this->model->{"get" . ucfirst($this->relation)}()->modelClass;
     $tableRelated = $relatedClass::tableName();
     $query->joinWith($this->relation, $this->eagerLoading)->andFilterWhere(["{{%{$tableRelated}}}.{{%id}}" => $this->model->{$this->attr}])->groupBy("{$table}.id");
 }
Exemple #3
0
 /**
  * @inheritdoc
  */
 protected function search(ActiveQuery $query)
 {
     if ($this->model->hasAttribute($this->attr)) {
         $table = $this->model->tableName();
         $attr = $this->attr;
         $query->andFilterWhere(["~*", "{{%{$table}}}.{{%{$attr}}}", preg_quote($this->model->{$this->attr})]);
     }
 }
 /**
  * @inheritdoc
  * @return \common\db\ActiveQuery
  */
 public static function find()
 {
     return Yii::createObject(\common\db\ActiveQuery::className(), [get_called_class()]);
 }
 /**
  * Устанавливает ограничение на критерий запроса
  * @param \common\db\ActiveQuery $query запрос
  * @return mixed
  */
 public function applyConstraint($query)
 {
     $cls = $query->modelClass;
     $table = $cls::tableName();
     $query->andWhere(["{{%{$table}}}.{{%role}}" => $this->getPermittedRoles()]);
 }