/** * @inheritdoc */ public function init() { parent::init(); if ($this->slider_id === null && $this->slider_name === null && $this->slider === null) { throw new InvalidConfigException("Either slider, slider_id or slider_name should be set."); } if ($this->slider === null) { if ($this->slider_name !== null) { $this->slider = Yii::$app->cache->get("Slider:name:" . $this->slider_name); if ($this->slider === false) { $this->slider = Slider::find()->where(['name' => $this->slider_name])->one(); Yii::$app->cache->set("Slider:name:" . $this->slider_name, $this->slider, 86400, new \yii\caching\TagDependency(['tags' => [ActiveRecordHelper::getCommonTag(Slider::className())]])); } } else { $this->slider = Slider::findById($this->slider_id); } } }
/** * Lists all Slider models. * @return mixed */ public function actionIndex() { $searchModel = new SearchModel(['model' => Slider::className(), 'partialMatchAttributes' => ['name'], 'scenario' => 'default']); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }