/** * @return A concatination of winery, year, wine and varietal for dropList usage. */ public static function getListing() { $allWines = Wines::find()->with('winery', 'wineVarietal')->all(); $items = array(); foreach ($allWines as $aWine) { $items[$aWine->id] = $aWine->winery->winery_name . '/' . $aWine->wine_year . '/' . $aWine->wineVarietal->varietal_name . '/' . $aWine->wine_name; } return $items; }
public function search($params) { $query = Wines::find(); $query->joinWith(['winery', 'wineVarietal', 'appellation']); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 100], 'sort' => ['attributes' => ['winery_name' => ['asc' => ['winery_name' => SORT_ASC], 'desc' => ['winery_name' => SORT_DESC]], 'wine_year' => ['asc' => ['wine_year' => SORT_ASC], 'desc' => ['wine_year' => SORT_DESC]], 'varietal_name' => ['asc' => ['varietal_name' => SORT_ASC], 'desc' => ['varietal_name' => SORT_DESC]], 'wine_name' => ['asc' => ['wine_name' => SORT_ASC], 'desc' => ['wine_name' => SORT_DESC]], 'bottle_size' => ['asc' => ['bottle_size' => SORT_ASC], 'desc' => ['bottle_size' => SORT_DESC]], 'overall_rating' => ['asc' => ['overall_rating' => SORT_ASC], 'desc' => ['overall_rating' => SORT_DESC]]]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'winery_id' => $this->winery_id, 'appellation_id' => $this->appellation_id, 'wine_varietal_id' => $this->wine_varietal_id, 'overall_rating' => $this->overall_rating, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'wine_name', $this->wine_name])->andFilterWhere(['like', 'wine_year', $this->wine_year])->andFilterWhere(['like', 'bottle_size', $this->bottle_size])->andFilterWhere(['like', 'upc_barcode', $this->upc_barcode])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['appellations.app_name' => $this->app_name])->andFilterWhere(['wineries.winery_name' => $this->winery_name]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Wines::find(); $dataProvider = new ActiveDataProvider(['query' => $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; } $query->andFilterWhere(['id' => $this->id, 'winery_id' => $this->winery_id, 'appellation_id' => $this->appellation_id, 'wine_varietal_id' => $this->wine_varietal_id, 'overall_rating' => $this->overall_rating, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'wine_name', $this->wine_name])->andFilterWhere(['like', 'wine_year', $this->wine_year])->andFilterWhere(['like', 'bottle_size', $this->bottle_size])->andFilterWhere(['like', 'upc_barcode', $this->upc_barcode])->andFilterWhere(['like', 'description', $this->description]); return $dataProvider; }