Laravel加入where子句

时间:2019-06-23 06:24:59

标签: php laravel-5 join

如何联接这些表以从用户表中检索ID?我正在使用Laravel 5.8。 我是Laravel的新手,并且发现Laravel Join很复杂。

  1. 用户表

    id | country_id | state_id | city_id | user_role_id | user_rights_id

  2. 通知表

    id | country_id | state_id | city_id | user_rights_id

  3. user_roles表

    id | user_id

  4. 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_idnotification_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表中的nullcity_id表中的users来过滤掉此集合。

经过所有这些过滤器后,我应该从city_id表中获取notifications

我会感谢你的。

0 个答案:

没有答案