[ 'class' => Slug::className(), 'in_attribute' => 'name', 'out_attribute' => 'alias', 'translit' => true ], 'artboxsynonym' => [ 'class' => ArtboxSynonymBehavior::className(), 'keyNameValue' => 'brand_name_id', 'valueModel' => BrandName::className(), 'valueOptionId' => 'brand_id', 'valueFields' => [ // postKey => DBFieldName 'name' => 'value' ] ] ]; } /** * @inheritdoc */ public static function tableName() { return 'brand'; } /** * @inheritdoc */ public function rules() { return [ [['name'], 'required'], [['brand_name_id'], 'integer'], [['meta_desc', 'seo_text'], 'string'], [['alias', 'name'], 'string', 'max' => 250], [['image', 'meta_title'], 'string', 'max' => 255], [['meta_robots'], 'string', 'max' => 50], // [['brand_name_id'], 'exist', 'skipOnError' => true, 'targetClass' => BrandName::className(), 'targetAttribute' => ['brand_name_id' => 'brand_name_id']], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ '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'), '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() { $value = $this->getBrandName()->one(); return empty($value) ? $this->_getValue('name') : $value->value; } }