$query, ]); $this->load($params); /*if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; }*/ // grid filtering conditions $query->andFilterWhere([ 'category.category_id' => $this->category_id, 'category.parent_id' => $this->parent_id, 'category.category_name_id' => $this->category_name_id, 'category.product_unit_id' => $this->product_unit_id, ]); $query->andFilterWhere(['like', 'category.alias', $this->alias]); $query->orderBy(['category.path' => SORT_ASC, 'category.depth' => SORT_ASC, 'category.category_id' => SORT_ASC]); return $dataProvider; } public static function findByAlias($alias) { /** @var CategoryQuery $query */ $query = Category::find() ->andFilterWhere(['alias' => $alias]); if (($model = $query->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } public static function findByRemoteID($id) { /** @var CategoryQuery $query */ $query = Category::find() ->andFilterWhere(['@>', 'remote_id', ArtboxTreeHelper::setArrayField($id)]); if (($model = $query->one()) !== null) { return $model; } return null; } // public static function findByProductsKeywords($keywords = [], $category = null) { // // } }