我已经竭尽所能地搜索和阅读潜在的解决方案,但是我不能全神贯注于如何做到这一点,所以我希望这里的人能对我有所帮助!
我有三种模型:客户端,服务和用户。
真实世界的示例:
下面的图片是数据库设计(不必完全按照此实现)。
实现此目标的最佳方法是什么?自定义数据透视表?
答案 0 :(得分:1)
您的关系真的需要那么复杂吗?是否曾经有过将用户分配给客户但没有任何服务的情况?
如果否,那么这只是ClientServices和Users表之间的简单多对多关系,您可以删除UserClient表。
答案 1 :(得分:1)
如果我正确理解,服务是独立分配给用户的,则用户不会自动将所有服务提供给客户端(hasManyThrough)。
因此,user_services表可以包含分配给该用户的服务,并带有一个用于client_id的额外字段,以指示向谁分配了服务。
在Eloquent中,用户和服务之间的关系仅是belongsToMany,您需要查询该关系上的客户端ID。简单地:
i functions: Preparing to emulate functions.
Warning: You're using Node.js v8.4.0 but Google Cloud Functions only supports v6.11.5.
+ functions: hi
+ functions: helloWorld
+ functions: updateMonth
firebase > updateMonth({before:{foo:'old'},after:{foo:'new'}})
'Successfully invoked function.'
firebase > info: User function triggered, starting execution
info: change.after.exists true
info: change.before.exists true
info: Old: { foo: 'old' }
info: Execution took 20 ms, user function completed successfully
firebase > updateMonth({foo:'new'})
'Successfully invoked function.'
firebase > info: User function triggered, starting execution
info: change.after.exists false
change.before.exists false
Old: undefined
Execution took 2 ms, user function completed successfully