所以我的users
表有列 id
和fb_id
。第二张表friendships
有两个相关列user_id
和friend_id
哪个id根据AB
填充和BA
原则。当$user
已登录,我获取了他 friend 的 $facebook_ids
的数组.
我可以通过 $friends = User::whereIn('fb_id', $facebook_ids)
找到这些用户...然后我有点卡住了。如何找到 FB 上有好友但不在我的好友表中的用户?
$known_friend_query = $session_owner->friends();
$fb_list_query = User::whereIn('fb_id', $fb_ids);
$new_friends = $known_friend_query->join($fb_list_query, 'right outer')->get(); //this line should be wrong
但是我如何加入查询呢?
最佳答案
这个答案是为了提醒自己保持简单
$known_friend_ids = $session_owner->friends()->select('users.id')->get();
$new_friends = User::whereIn('fb_id', $fb_ids)->whereNotIn('id', $known_friend_ids)->get();
关于mysql - 如何在没有关系的情况下通过枢轴选择将表与其自身连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37168163/