【发布时间】:2013-08-25 16:03:14
【问题描述】:
我正在构建一个类似 Twitter 的应用程序。有一个 Feed,我只想在其中显示我关注的用户的帖子。
我用连接尝试了所有方法,但似乎没有任何效果。
我有 3 张桌子:Users、Followers、Shares
表格如下所示:
用户:id
关注者:user_id、follower_id
分享:user_id
我需要得到的是“ALL Shares WHERE share.user_id = Followers.follower_id” "ANDWHERE follower.user_id = users.id"
假设 users.id 是 3,我试过这个:
$shares = DB::table('shares')
->leftjoin('followers', 'shares.user_id', '=', 'followers.follower_id')
->leftjoin('users', 'followers.user_id', '=', 'users.id')
->where('users.id', 3)
->where('shares.user_id', 'followers.follower_id')
->get();
但它不起作用。
任何帮助表示赞赏:)
【问题讨论】:
-
理想情况下,您应该以与当前设置相反的顺序检索您寻找的数据。您不会找到所有共享然后倒退。首先找到您的追随者,然后找到这些追随者拥有的份额。它在某些方面可能无关紧要,但在语法上肯定更有意义。
标签: mysql sql database join laravel