[ 'class' => LanguageBehavior::className(), ], 'images' => [ 'class' => SaveMultipleFileBehavior::className(), 'name' => 'imagesUpload', 'directory' => 'projects', 'column' => 'image', 'links' => [ 'project_id' => 'project_id', ], 'model' => ProjectImage::className(), ], 'multipleImage' => [ 'class' => MultipleImgBehavior::className(), 'links' => [ 'project_id' => 'project_id', ], 'model' => ProjectImage::className(), 'config' => [ 'caption' => 'image', 'delete_action' => '/project/delimg', 'id' => 'project_image_id', ], ], ]; } /** * @inheritdoc */ public function rules() { return [ [ [ 'date_add' ], 'default', 'value' => function() { return time(); }, ], [ [ 'date_add', 'imagesUpload', ], 'safe', ], [ [ 'date_add' ], 'filter', 'filter' => function($value) { return strtotime($value) ? : time(); }, ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'project_id' => Yii::t('app', 'project_id'), 'title' => Yii::t('app', 'title'), 'link' => Yii::t('app', 'link'), 'description' => Yii::t('app', 'description'), 'date_add' => Yii::t('app', 'date_add'), 'images' => Yii::t('app', 'images'), ]; } public function getProductToProject() { return $this->hasMany(ProductToProject::className(), [ 'project_id' => 'project_id', ]); } public function getVariants() { return $this->hasMany(ProductVariant::className(), [ 'product_variant_id' => 'product_variant_id' ]) ->viaTable('product_to_project', [ 'project_id' => 'project_id' ]); } }