如何联接这些表以从用户表中检索ID?我正在使用Laravel 5.8。 我是Laravel的新手,并且发现Laravel Join很复杂。
用户表
id | country_id | state_id | city_id | user_role_id | user_rights_id
通知表
id | country_id | state_id | city_id | user_rights_id
user_roles表
id | user_id
notification_by_roles表
id | notification_id | user_role_id
现在,我想从id
表的users
表中提取notification
。
首先,应仅选择id's
表中的users
,其中user_rights_id
表中的notification
与{{1}中的user_rights_id
相匹配}表。
然后应从users
表中获取集合,其中notification_by_roles
表中的notification_id
与notification_by_roles
表中的id
相匹配。
然后应基于notifications
表中的id's
和{{1}中的users
来过滤掉user_role_id
表中users
的集合}表。
现在,仅当来自user_role_id
的{{1}}与notification_by_roles
表中的country_id
相匹配时,才应基于users
表中的country_id
进一步过滤掉此集合notifications
表为空
否则,仅当来自state_id
的{{1}}与notification
表中的state_id
相匹配时,才应基于users
表中的state_id
过滤掉此集合notifications
表是city_id
否则,应根据notification
表中的null
和city_id
表中的users
来过滤掉此集合。
经过所有这些过滤器后,我应该从city_id
表中获取notifications
。
我会感谢你的。