gpt4 book ai didi

orm - Laravel中的多对多关系:belongsToMany()与hasManyThrough()

转载 作者:行者123 更新时间:2023-12-03 13:32:29 31 4
gpt4 key购买 nike

在Laravel中定义多对多关系时,使用belongsToMany()或hasManyThrough()有什么区别?

例:UserAccountAccount_User
因此,用户通过Account_User表与Account有多对多关系。除了仅是定义具有相关帐户的相关用户的数据透视表之外,它还存储了Account_User.role字段,该字段确定给定用户在给定帐户中的角色。

使用User belongsToMany() AccountUser hasManyThrough() Account Account_User意味着什么?还是基本相同?

在确定方法时,我想我应该对反向关系定义使用相同的方法。

最佳答案

假设您有两个模型,我们分别称为AB:

如果A可能包含一项以上的B
并且
如果B可能包含一项以上的A(就像博客文章/标签一样)
您必须使用belongsToMany();

现在假设您有3个模型,ABC
AB相关,而BC相关。但是您需要访问所有与C相关的A(通过B),然后您需要使用hasManyThrough()(就像countries-> users-> posts一样,您需要来自特定post的所有country)
hasManyThrough()并非完全用于多对多关系,它更像是一种捷径。

检查文档链接12(Laravel 4.2)或34(Laravel 5.x)。

关于orm - Laravel中的多对多关系:belongsToMany()与hasManyThrough(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21699050/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com