Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function prepareDataProvider()
- {
- /* @var $modelClass yiidbActiveRecord */
- $modelClass = $this->modelClass;
- $query = $modelClass::find()
- ->where('published=1')
- ->select([
- 'id',
- 'city_id',
- 'city_district_id',
- 'seller_net_id',
- 'name',
- 'address',
- 'type',
- ]);
- // filters
- if ($city_id = Yii::$app->request->getQueryParam('city_id'))
- $query->andWhere('city_id = :city_id',[':city_id'=>$city_id]);
- if ($city_district_id = Yii::$app->request->getQueryParam('city_district_id'))
- $query->andWhere('city_district_id = :city_district_id',[':city_district_id'=>$city_district_id]);
- $city_name = Yii::$app->request->getQueryParam('name');
- if ($city_name && mb_strlen($city_name) >= Yii::$app->params['minSearchChars'])
- $query->andWhere(['LIKE' ,'name',strtr($city_name,['%'=>'%', '_'=>'_', '\'=>'\\']).'%', false]);
- return new ActiveDataProvider([
- 'query' => $query
- ]);
- }
- /**
- * Creates data provider instance with search query applied
- *
- * @param array $params
- *
- * @return ActiveDataProvider
- */
- public function search($params)
- {
- $query = Location::find();
- $dataProvider = new ActiveDataProvider([
- 'query' => $query,
- ]);
- $this->load($params);
- if (!$this->validate()) {
- // uncomment the following line if you do not want to any records when validation fails
- // $query->where('0=1');
- return $dataProvider;
- }
- $query->joinWith(array('client','address'));
- $query->andFilterWhere([
- 'id' => $this->id,
- ]);
- $query->andFilterWhere(['like', 'name', $this->name])
- ->andFilterWhere(['like', 'd_client.name', $this->client_id])
- ->orFilterWhere(['like','d_address.address1',$this->address_id])
- ->orFilterWhere(['like','d_address.address2',$this->address_id])
- ->orFilterWhere(['like','d_address.address3',$this->address_id]);
- return $dataProvider;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement