alekciy/ yii2-save-autorelations-behavior
自动创建关系、验证并自动保存相关Active Record模型。
0.1.1
2020-02-10 21:42 UTC
Requires
Requires (Dev)
- ext-sqlite3: *
- phpunit/phpunit: 4.8.36
This package is auto-updated.
Last update: 2024-09-16 04:48:02 UTC
README
此行为扩展了yii2-save-relations-behavior,根据配置自动创建关系。
安装
通过composer
composer require --prefer-dist alekciy/yii2-save-autorelations-behavior
配置
在模型中只需添加与其相关联的另一个模型。对于1-n关系,在manyRelationList
属性中,对于1-1关系,在oneRelationList
中。例如,需要在Car
类中添加与Driver
的关联
use yii\db\ActiveRecord; use alekciy\Yii2SaveAutoRelationsTrait; use alekciy\Yii2SaveAutoRelationsBehavior; class Car extends ActiveRecord { use Yii2SaveAutoRelationsTrait; // Необязательно, но нужно для загрузки связи через loadRelations() public function behaviors() { return [ 'saveRelations' => [ 'class' => Yii2SaveAutoRelationsBehavior::className(), 'manyRelationList' => [ 'drivers' => Driver::class, ], ], ]; } }
就是这样。不需要创建getDrivers()
方法。行为将自动创建关联表(名称以link__
开头)。其他使用方式可以在Yii2 Active Record Save Relations Behavior页面查看