/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Product::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, 'user_id' => $this->user_id, 'pr_sum' => $this->pr_sum, 'pr_price' => $this->pr_price]); $query->andFilterWhere(['like', 'pr_name', $this->pr_name])->andFilterWhere(['like', 'image', $this->image]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Product::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('user'); $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'user.username', $this->user_id]); return $dataProvider; }
public function actionPairingProducts() { if (Yii::$app->request->isAjax) { /* @var StoreProduct $storeProduct */ $storeProduct = new StoreProduct(); $storeProduct->store_id = $_POST['storeId']; $storeProduct->product_id = $_POST['productId']; $storeProduct->price = $_POST['price']; if ($storeProduct->save()) { return 'save :)'; } else { return 'not save :('; } } else { $dataProvider = new ActiveDataProvider(['query' => Product::find()]); return $this->render('pairing-products', ['dataProvider' => $dataProvider]); } }
public function UpdateByLookCount($id) { $productUpdate = Product::find()->where(['id' => $id])->one(); $productUpdate->lookCount += 1; $productUpdate->update(); }
public static function getProducts($params = []) { $query = Product::find()->where(['is_active' => 1])->andWhere(['<=', 'published_at', strtotime('now')]); if (isset($params['id_in']) && is_array($params['id_in'])) { $query->andWhere(['in', 'id', $params['id_in']]); } if (!empty($params['orderBy'])) { $query->orderBy($params['orderBy']); } if (!empty($params['limit'])) { $query->limit($params['limit']); } if (!empty($params['offset'])) { $query->offset($params['offset']); } $result = $query->all(); if (!is_array($result)) { return []; } return $result; }
public static function get_thumb_product_with_detail() { $options = []; $i = 0; $product_list_r = Product::find()->joinWith('cat_rel')->orderBy('product_category_rel.sort_order desc')->all(); foreach ($product_list_r as $key => $value) { $options[self::product_data($value->id)->slug]['id'] = self::product_data($value->id)->id; $options[self::product_data($value->id)->slug]['title'] = self::product_data($value->id)->title; $options[self::product_data($value->id)->slug]['slug'] = self::product_data($value->id)->slug; $options[self::product_data($value->id)->slug]['short_desc'] = self::product_data($value->id)->short_desc; $options[self::product_data($value->id)->slug]['desc'] = self::product_data($value->id)->desc; //$options[self::product_data($value->id)->slug]['status'] = self::product_data($value->id)->status; $options[self::product_data($value->id)->slug]['project_order'] = self::product_data($value->id)->sort_order; $options[self::product_data($value->id)->slug]['is_featured'] = self::product_data($value->id)->is_featured; if (!empty($value->specification)) { $k = 0; foreach ($value->specification as $spec) { $options[self::product_data($value->id)->slug]['specification'][$k] = $spec; $k++; } } if (!empty($value->image_all)) { $j = 0; foreach ($value->image_all as $banner) { $options[self::product_data($value->id)->slug]['images'][$j]['url'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'product_uploads/thumb/' . $banner->image; $options[self::product_data($value->id)->slug]['images'][$j]['url_full'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'product_uploads/' . $banner->image; $options[self::product_data($value->id)->slug]['images'][$j]['title'] = $banner->title; $options[self::product_data($value->id)->slug]['images'][$j]['desc'] = $banner->desc; $options[self::product_data($value->id)->slug]['images'][$j]['sort_order'] = $banner->sort_order; $options[self::product_data($value->id)->slug]['images'][$j]['is_banner'] = $banner->is_banner; $options[self::product_data($value->id)->slug]['images'][$j]['is_gallery'] = $banner->is_gallery; $options[self::product_data($value->id)->slug]['images'][$j]['is_hover'] = $banner->is_hover; $j++; } } if (!empty($value->post)) { $j = 0; foreach ($value->post as $post) { $options[self::product_data($value->id)->slug]['posts'][$j] = $post; $j++; } } $options[self::product_data($value->id)->slug]['type'] = $value->project_category_rel->category_name['cat_title']; $options[self::product_data($value->id)->slug]['category'] = $value->project_category_rel->project_category_category_self_rel['category_name']['cat_title']; $i++; } return $options; }
use yii\helpers\Html; use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use frontend\models\Product; /* @var $this yii\web\View */ /* @var $model frontend\models\Order */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="order-form"> <?php $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'productID')->dropDownList(ArrayHelper::map(Product::find()->all(), 'productID', 'name'), ['prompt' => 'Select product']); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? 'Buy' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?> </div>
public function actionByCategory($id) { $query = Product::find()->where(['category_id' => $id]); $dataProvider = new ActiveDataProvider(['query' => $query]); return $this->render('index', ['dataProvider' => $dataProvider]); }