255], ]; } public function search($params) { $quotationRepository = QuotationRepository::getInstance(); $optionsSearch = $quotationRepository->getDefaultOptionsSearch(); $query = Quotation::find() ->with($optionsSearch['with']) ->joinWith($optionsSearch['join_with']) ->where(['quotation.id_producer' => GlobalParam::getCurrentProducerId()]) ->orderBy('quotation.status ASC, quotation.reference DESC') ->groupBy('quotation.id'); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'sort' => ['attributes' => ['name', 'reference', 'date']], 'pagination' => [ 'pageSize' => 20, ], ]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['like', 'quotation.name', $this->name]); $query->andFilterWhere(['like', 'quotation.reference', $this->reference]); $query->andFilterWhere(['like', 'quotation.status', $this->status]); return $dataProvider; } }