folkpro/yii2-many-has-many-behaviors

Yii2 behavior

dev-master 2015-11-10 10:32 UTC

This package is not auto-updated.

Last update: 2024-06-08 17:15:36 UTC


README

Installation

The preferred way to install this extension is through composer.

Either run

composer require folkpro/yii2-many-has-many-behaviors

or add

"folkpro/yii2-many-has-many-behaviors" : "*"

to the require section of your application's composer.json file.

Usage

  • In your model, add the behavior and configure it
public function behaviors()
{
    return [
        [
            'class' => \folkpro\manyhasmanybehaviors\ManyHasManyBehavior::className(),
            'relations' => [
                 'tags' => 'tag_items',                  
             ],
        ],
    ];
}
  • In your model, add the relation, for example:
public function getTags()
{
    return $this->hasMany(Tag::className(), ['id' => 'tag_id'])
        ->viaTable('post_has_tag', ['post_id' => 'id']);
}
  • In your model, add validation rules for the attributes created by the behavior, for example:
public function rules()
{
    return [
        [['tag_list'], 'safe']
    ];
}
  • In your view, create form fields for the attributes

More information here:
ManyHasManyBehavior