public function items($options = []) { if (!$this->_items) { $this->_items = []; $query = Item::find()->with('seo')->where(['category_id' => $this->id])->status(Item::STATUS_ON); if (!empty($options['where'])) { $query->andFilterWhere($options['where']); } if (!empty($options['orderBy'])) { $query->orderBy($options['orderBy']); } else { $query->sortDate(); } if (!empty($options['filters'])) { $query = Catalog::applyFilters($options['filters'], $query); } $this->_adp = new ActiveDataProvider(['query' => $query, 'pagination' => !empty($options['pagination']) ? $options['pagination'] : []]); foreach ($this->_adp->models as $model) { $this->_items[] = new ItemObject($model); } } return $this->_items; }
public function actionDelete($id) { if ($model = Item::findOne($id)) { $model->delete(); } else { $this->error = Yii::t('easyii', 'Not found'); } return $this->formatResponse(Yii::t('easyii/pharmacies', 'Item deleted')); }
private function findItem($id_slug) { if (!($item = Item::find()->where(['or', 'item_id=:id_slug', 'slug=:id_slug'], [':id_slug' => $id_slug])->status(Item::STATUS_ON)->one())) { return null; } return new ItemObject($item); }