[英]Yii framework Many to Many relationships
在Yii框架中保存和更新多对多关系的方法是什么?
除非您在两个主表之间为表创建模型,否则您唯一的选择是使用DAO(数据库访问对象)并使用它指定SQL。
看看博客演示如何完成此任务。
使用MANY_MANY
关系类型在模型之间设置多对多连接(需要一个关联表来将多对多关系分解为一对多关系)现在您可以使用Active Records的所有关系函数
以下扩展做你想要的... Yii框架 - 扩展:cadvancedbehavior
需要注意的重要事项是:在每次更新时,扩展会清除所有以前的记录并创建新记录。 因此,当intermediatry表包含除外键之外的额外数据时,我不会使用它。
这个问题太常见了。
通常,具有MANY到MANY关系的数据组件顺序且独立地出现。 所以你只需要一个接一个地插入动作。
如果您的关系需要依赖更新,则应在DataBase级别上使用SQL触发器 。 这将确保数据的完整性,并在应用程序的业务逻辑中提供相当好的分离。
CREATE TRIGGER some_trigger
AFTER UPDATE ON some_table
...
END IF;
类似的方法是在PHP级别的一个逻辑模型中封装关系数据(例如,在那里使用2-3个AR模型进行操作)并在其中模拟SQL触发器逻辑。
你可以在mysql级别设置它。通过在phpmyadmin中的每个表下的关系视图并提供必要的关系条件......并在模型类内部关系中使用MANY_MANY。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.