Beispiel #1
0
 /**
  * Returns corresponding slides with cache support(not real relation!)
  * @return Slide[]
  */
 public function getSlides($onlyActive = false)
 {
     if ($this->_slides === null) {
         $this->_slides = Yii::$app->cache->get("Slides:" . $this->id);
         if (!is_array($this->_slides)) {
             $this->_slides = Slide::find()->where(['slider_id' => $this->id])->orderBy('sort_order ASC')->all();
             Yii::$app->cache->set("Slides:" . $this->id, $this->_slides, 86400, new \yii\caching\TagDependency(['tags' => [ActiveRecordHelper::getObjectTag(Slide::className(), $this->id)]]));
         }
     }
     if ($onlyActive === true) {
         $activeSlides = [];
         foreach ($this->_slides as $slide) {
             if ($slide->active) {
                 $activeSlides[] = $slide;
             }
         }
         return $activeSlides;
     } else {
         return $this->_slides;
     }
 }
Beispiel #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getSlides()
 {
     return $this->hasMany(Slide::className(), ['common_status_id' => 'id']);
 }