/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { // $query = new Query; // $query->select('GetProductAvailability.*, Products.*, Manufacturers.*') // ->from('GetProductAvailability') // ->join('LEFT OUTER JOIN', 'Products', // 'GetProductAvailability.Product = Products.ID') // ->join('LEFT OUTER JOIN', 'Manufacturers', // 'Products.Manufacturer = Manufacturers.ID'); $query = Availability::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $dataProvider->setSort(['attributes' => ['Product', 'Manufacturer', 'Article']]); $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; } $query->andFilterWhere(['GetProductsAvailability.WarehouseID' => $this->WarehouseID, 'Availability' => $this->Availability])->andFilterWhere(['like', 'Product', $this->Product])->andFilterWhere(['like', 'Article', $this->Article])->andFilterWhere(['like', 'Manufacturer', $this->Manufacturer]); return $dataProvider; }
/** * @return \yii\db\ActiveQuery */ public function getAvailability() { return $this->hasMany(Availability::className(), ['Warehouse' => 'ID']); }