/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ProviderServices::find(); // add conditions that should always apply here $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'provider_id' => $this->provider_id, 'provider_industry_id' => $this->provider_industry_id, 'service_id' => $this->service_id, 'industry_id' => $this->industry_id, 'is_set' => $this->is_set, 'update_time' => $this->update_time]); return $dataProvider; }
protected function saveProviderService($user = null, $service = null, $newProvider) { if ($user and $service) { if (!$newProvider and $user->provider and $prs = ProviderServices::find()->where('provider_id=' . $user->provider->id . ' AND service_id=' . $service->id)->all()) { return $prs[0]; } else { $proserv = new ProviderServices(); $proserv->provider_industry_id = $user->provider->industries[0]->id; $proserv->provider_id = $user->provider->id; $proserv->industry_id = $service->industry_id; $proserv->service_id = $service->id; $proserv->is_set = 1; $proserv->update_time = date('Y-m-d H:i:s'); if ($proserv->save()) { return $proserv; } return false; } } return false; }