/** * @param $params * * @return ActiveDataProvider */ public function searchDeletedProduct($params) { $query = IledebeauteProduct::find(); // print_r($params);die; $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 50]]); $this->load($params); $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'deleted_at' => $this->deleted_at]); if (!empty($params['date'])) { $query->where('DATE_FORMAT(deleted_at, "%Y-%m-%d") = "' . $params['date'] . '"'); } $query->andFilterWhere(['like', 'article', $this->article])->andFilterWhere(['like', 'link', $this->link])->andFilterWhere(['like', 'group', $this->group])->andFilterWhere(['like', 'category', $this->category])->andFilterWhere(['like', 'sub_category', $this->sub_category])->andFilterWhere(['like', 'brand', $this->brand])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'new_price', $this->new_price])->andFilterWhere(['like', 'old_price', $this->old_price])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'image_link', $this->image_link]); return $dataProvider; }
/** * @return int */ public function actionIle() { $query = new Query(); $rows = $query->from('lproduct')->match(new Expression(':match', ['match' => '@(description)' . \Yii::$app->sphinx->escapeMatchValue('база макияж под')]))->all(); print_r($rows); print_r(IledebeauteProduct::findOne(['id' => $rows[0]['id']])->toArray()); die; return $rows; }
/** * @return \yii\db\ActiveQuery */ public function getI() { return $this->hasOne(IledebeauteProduct::className(), ['id' => 'i_id']); }
/** * @return \yii\db\ActiveQuery */ public function getArticle0() { return $this->hasOne(IledebeauteProduct::className(), ['article' => 'article']); }
/** * Finds the IledebeauteProduct model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return IledebeauteProduct the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = IledebeauteProduct::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return string */ public function actionArticleUpdate() { if ($pArticle = reset($_POST['PodruzkaProduct'])['article']) { if ($pp = PodruzkaProduct::find()->where(['article' => $pArticle])->one()) { if (!empty($_POST['l_id'])) { if ($lp = LetualProduct::find()->where(['article' => $_POST['l_id']])->one()) { $pp->l_id = $lp->id; } } else { $pp->l_id = null; } if (!empty($_POST['r_id'])) { if ($rp = RivegaucheProduct::find()->where(['article' => $_POST['r_id']])->one()) { $pp->r_id = $rp->id; } } else { $pp->r_id = null; } if (!empty($_POST['i_id'])) { if ($ip = IledebeauteProduct::find()->where(['article' => $_POST['i_id']])->one()) { $pp->i_id = $ip->id; } } else { $pp->i_id = null; } if (!empty($_POST['e_id'])) { if ($ep = ElizeProduct::find()->where(['article' => $_POST['e_id']])->one()) { $pp->e_id = $ep->id; } } else { $pp->e_id = null; } $pp->save(); return json_encode(['result' => true]); } } return json_encode(['result' => false]); }
/** * Сохраняем результаты из массива * * @param $result * @param $link */ private function saveResult($result, $link) { foreach ($result['items'] as $item) { if (!empty($item['article'])) { $product = IledebeauteProduct::findOne(['article' => $item['article']]); if (!$product) { $product = new IledebeauteProduct(); } $product->brand = $this->clearBrand($result['brand']); $product->title = $result['title']; $product->article = $item['article']; $product->showcases_new = $item['showcases_new']; $product->showcases_sale = $item['showcases_sale']; $product->showcases_exclusive = $item['showcases_exclusive']; $product->showcases_limit = $item['showcases_limit']; $product->showcases_best = $item['showcases_best']; $product->new_price = $this->getPrice($item['price']['newPrice']); $product->old_price = $this->getPrice($item['price']['oldPrice']); $product->category = $link['category']; $product->group = $link['group']; $product->link = $link['link']; $product->sub_category = $link['sub_category']; $product->image_link = $item['image']; $product->description = $item['description']; $product->deleted_at = '0000-00-00 00:00:00'; $price = new IledebeautePrice(); $price->article = $item['article']; $price->new_price = $this->getPrice($item['price']['newPrice']); $price->old_price = $this->getPrice($item['price']['oldPrice']); if (!empty($price) && $product->save()) { $price->save(); } } } }
/** * Возвращает строку с инпутами для таблицы с формой сопоставления * * @param $model * * @return string */ public static function getArticleMatchingForm($model) { $result = Html::activeLabel($model, 'l_id'); $result .= Html::input('', 'l_id', !empty($lp = LetualProduct::find()->where(['id' => $model->l_id])->one()) ? $lp->article : '', ['class' => 'kv-editable-input form-control']); $result .= Html::activeLabel($model, 'r_id'); $result .= Html::input('', 'r_id', !empty($lp = RivegaucheProduct::find()->where(['id' => $model->r_id])->one()) ? $lp->article : '', ['class' => 'kv-editable-input form-control']); $result .= Html::activeLabel($model, 'e_id'); $result .= Html::input('', 'e_id', !empty($ep = ElizeProduct::find()->where(['id' => $model->e_id])->one()) ? $ep->article : '', ['class' => 'kv-editable-input form-control']); $result .= Html::activeLabel($model, 'i_id'); $result .= Html::input('', 'i_id', !empty($lp = IledebeauteProduct::find()->where(['id' => $model->i_id])->one()) ? $lp->article : '', ['class' => 'kv-editable-input form-control']); return $result; }