Eloquent 集合 转 关联
假设存在这样一个业务场景:用户 User
模型中的用户拥有多种不同的身份,他们各司其职,共同管理着一批合同 Contract
。
因为身份不同,权职不同, User
模型与 Contract
模型的对应关系也各不相同。
业务员与咨询师分别通过合同中的 外键 确定关联合同,财务通过 状态码 确定关联合同,申报员通过更为复杂的机构 对应关系 来确定关联合同。
现在想要通过一个方法 contracts()
直接获取 User
模型对应的 Contract
于是我写出了如下方法:
此时使用 $user->contracts
显然会报错,因为 3, 4 条返回的并非对应关系。有没有什么方法将 3, 4 条的查询集合转换为对应关系?
推荐文章: