сакхлаб / yii2-relations
该模块允许将任何模型关联到任何模型(例如,类似商品等)
dev-master
2017-04-03 05:57 UTC
Requires
- php: >=5.4.0
- kartik-v/yii2-widget-fileinput: *
- newerton/yii2-fancybox: *
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap: *
This package is not auto-updated.
Last update: 2024-09-20 20:00:55 UTC
README
该模块提供了快速添加模型之间关联功能。使用示例:关联类似产品。
安装
执行命令
php composer require pistol88/yii2-relations "*"
或在 composer.json 中添加
"pistol88/yii2-relations": "*",
然后执行
php composer update
连接和配置
在应用程序配置文件中添加模块 relations
'modules' => [ //.. 'relations' => [ 'class' => 'pistol88\relations\Module', 'fields' => ['code'], ], //.. ]
*fields - 额外字段数组(默认情况下,选择窗口只显示 id 和名称)
使用
关联存储在单独的 TEXT 字段中,形式为序列化数组,需要在模型中创建并添加字段。将实现 \pistol88\relations\interfaces\Torelate 且继承 AR 的模型连接行为
function behaviors() { return [ 'relations' => [ 'class' => 'pistol88\relations\behaviors\AttachRelations', 'relatedModel' => 'common\models\Product', 'inAttribute' => 'relations', ], ]; } public function getName() { return $this->name; } public function getId() { return $this->id; }
- inAttribute - 模型中存储关联的字段名称
- relatedModel - 需要关联的模型
现在可以通过方法 $model->getRelations()->all() 获取关联的模型。
小部件
通过小部件选择要连接的模型
$model]);?>它需要在编辑模型表单内调用。