thtmorais/yii2-many-2-many
最新稳定版本:0.0.2
Composer 安装命令:
composer require thtmorais/yii2-many-2-many
包简介
关键字:
README 文档
README
Overview
Many2ManyBehavior is a Yii PHP Framework 2 behavior that facilitates managing many-2-many relationships between models. It automatically handles the insertion, update, and deletion of related models.
Installation
The preferred way to install this extension is through composer.
Either run
composer require thtmorais/yii2-many-2-many "*"
or add
"thtmorais/yii2-many-2-many": "*"
to the require section of your composer.json file.
Usage
Attach Many2ManyBehavior to your model:
use thtmorais\many2many\Many2ManyBehavior; class Model extends \yii\db\ActiveRecord { public function behaviors() { return [ [ 'class' => Many2ManyBehavior::class, 'id' => 'id', 'attribute' => 'relations', 'relatedModel' => RelatedModel::class, 'relatedModelId' => 'id', 'relatedModelAttribute' => 'model_id', 'relatedModelValidate' => true ], ]; } }
Properties
| Property | Type | Description |
|---|---|---|
id |
string |
Primary key of the source model. Defaults to 'id'. |
attribute |
string |
Attribute containing the relationships to be saved. |
relatedModel |
string |
Class name of the related model. |
relatedModelId |
string |
Primary key of the related model. Defaults to 'id'. |
relatedModelAttribute |
string |
Foreign key in the related model referencing the source model. |
relatedModelValidate |
bool |
Whether to validate the related model before saving. Defaults to true. |
Events Handled
EVENT_AFTER_INSERT: Saves related models after the source model is inserted.EVENT_AFTER_UPDATE: Updates related models when the source model is updated.EVENT_AFTER_DELETE: Deletes related models when the source model is deleted.
Methods
afterInsert()
Handles the insertion of related models when the source model is inserted.
afterUpdate()
Handles the update of related models when the source model is updated.
afterDelete()
Deletes related models when the source model is deleted.
Example Usage
$model = new Model(); $model->relations = [ ['id' => 1, 'name' => 'Item 1'], ['id' => 2, 'name' => 'Item 2'] ]; $model->save();
统计信息
- 总下载量: 1.72k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-06