/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Data::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, 'first_p' => $this->first_p, 'sec_p' => $this->sec_p, 'quantity' => $this->quantity]); $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'meta_k', $this->meta_k])->andFilterWhere(['like', 'meta_d', $this->meta_d])->andFilterWhere(['like', 'cat', $this->cat])->andFilterWhere(['like', 'text', $this->text])->andFilterWhere(['like', 'image', $this->image]); return $dataProvider; }
public function actionComplete() { $id = Yii::$app->request->get('id'); $model = Orders::findOne($id); if ($model->complite == 1) { $complite = 2; } else { $complite = 1; } $products = unserialize($model->product); foreach ($products as $key => $val) { $q = Data::find()->where(['title' => $val['title']])->one(); if ($complite == 2) { $q->quantity = $q->quantity - $val['quantity']; } else { $q->quantity = $q->quantity + $val['quantity']; } $q->update(); } $model->complite = $complite; $model->update(); }
/** * Finds the Data model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Data the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Data::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }