alekciy / yii2-save-autorelations-behavior
Auto create relations, validate and save automatically related Active Record models.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:yii2-extension
pkg:composer/alekciy/yii2-save-autorelations-behavior
Requires
Requires (Dev)
- ext-sqlite3: *
- phpunit/phpunit: 4.8.36
This package is auto-updated.
Last update: 2025-10-16 07:25:21 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