例如,由于文档(http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#relational-data)的一对多,你可以用这种方式链接两个模型 (one-many = company-zone)
:
$defaultZone = new Zone;
$defaultZone->name = Zone::DEFAULT_ZONE;
$company->link('zones', $defaultZone);
但是当你有像 tbl_user_market(user_id, market_id)
这样的转接表时,它如何适用于多对多关系?
1 回答
使用联结表进行多对多关系时,您必须这样做
定义关系
将两个模型链接在一起
在User模型中定义以下关系函数:
在市场模型中定义以下关系函数:
最后,保存两个模型后,将它们链接在一起:
对
link()
的调用将填充联结表 .参考:http://www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html#link()-detail