[ 'class' => ArtboxSynonymBehavior::className(), 'keyNameValue' => 'brand_name_id', 'valueModel' => BrandName::className(), 'valueOptionId' => 'brand_id', 'valueFields' => [ // postKey => DBFieldName 'name' => 'value' ], 'slug' => [ 'valueKeyName' => 'value', 'slugKeyName' => 'alias', 'translit' => true ], ], ]; } /** * @inheritdoc */ public static function tableName() { return 'brand'; } /** * @inheritdoc */ public function rules() { return [ [['name'], 'string'], [['brand_name_id'], 'integer'], [['meta_desc', 'seo_text'], 'string'], [['alias', 'name'], 'string', 'max' => 250], [['meta_title', 'image'], 'string', 'max' => 255], [['meta_robots'], 'string', 'max' => 50], [['imageUpload'], 'safe'], [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'name' => Yii::t('product', 'Name of the brand'), 'brand_id' => Yii::t('product', 'Brand ID'), 'brand_name_id' => Yii::t('product', 'Brand Name ID'), 'alias' => Yii::t('product', 'Alias'), 'image' => Yii::t('product', 'Image'), 'imageUrl' => Yii::t('product', 'Image'), 'meta_title' => Yii::t('product', 'Meta Title'), 'meta_desc' => Yii::t('product', 'Meta Desc'), 'meta_robots' => Yii::t('product', 'Meta Robots'), 'seo_text' => Yii::t('product', 'Seo Text'), ]; } /** * @return \yii\db\ActiveQuery */ public function getBrandName() { return $this->hasOne(BrandName::className(), ['brand_name_id' => 'brand_name_id']); } /** * @return \yii\db\ActiveQuery */ public function getBrandNames() { return $this->hasMany(BrandName::className(), ['brand_id' => 'brand_id']); } /** * @return \yii\db\ActiveQuery */ public function getProducts() { return $this->hasMany(Product::className(), ['brand_id' => 'brand_id']); } public function getName() { return empty($this->brand_name_id) ? null : $this->brandName->value; } public function getImageFile() { return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image); } public function getImageUrl() { return empty($this->image) ? null : Yii::getAlias('@imagesUrl/brands/' . $this->image); } }