public function behaviors() { /** * @var CatalogModule $catalog */ $catalog = Yii::$app->getModule('admin')->getModule('catalog'); return [['class' => SortableDateController::className(), 'model' => Item::className()], ['class' => StatusController::className(), 'model' => Item::className()], ['class' => ModelLoaderController::class, 'rules' => [['actions' => ['related-sort'], 'ownerAttribute' => 'relatedItem2Model', 'modelClass' => Yii::createObject(['class' => $catalog->itemClass])->getRelatedBehavior()->getEnumerationModel()->getModels()->modelClass], ['actions' => ['update', 'sort-insert', 'related'], 'ownerAttribute' => 'item', 'modelClass' => $catalog->itemClass], ['actions' => ['set-related'], 'queryAttribute' => 'ownerId', 'ownerAttribute' => 'item', 'modelClass' => $catalog->itemClass, 'queryType' => 'POST'], ['actions' => ['set-related'], 'queryAttribute' => 'relatedId', 'ownerAttribute' => 'relatedItem', 'modelClass' => $catalog->itemClass, 'queryType' => 'POST']]], 'access' => ['class' => AccessControl::class, 'rules' => [['allow' => false, 'actions' => ['sort-insert'], 'verbs' => ['GET']], ['allow' => true, 'actions' => []]]]]; }
public function getPhotos() { if (!$this->_photos) { $this->_photos = []; foreach (Photo::find()->where(['class' => Item::className(), 'item_id' => $this->id])->sort()->all() as $model) { $this->_photos[] = new PhotoObject($model); } } return $this->_photos; }
public function getItem() { return $this->hasOne(Item::className(), ['item_id' => 'item_id']); }
public function rules() { return [['data', 'required'], ['item_id', 'exists', Item::className(), 'item_id']]; }
public function getPhotos($index = null) { if (!$this->_photos) { $this->_photos = []; foreach (Photo::find()->where(['class' => Item::className(), 'item_id' => $this->id])->sort()->all() as $model) { $this->_photos[] = new PhotoObject($model); } } if (is_numeric($index)) { if (isset($this->_photos[$index])) { return $this->_photos[$index]; } else { return null; } } return $this->_photos; }
public function behaviors() { return [['class' => SortableController::className(), 'model' => Item::className()]]; }
public function getItems() { return $this->hasMany(Item::className(), ['category_id' => 'category_id'])->sort(); }
public function getPhotos() { return $this->hasMany(Photo::className(), ['item_id' => 'item_id'])->where(['model' => Item::className()])->sort(); }