【发布时间】:2018-02-05 12:38:57
【问题描述】:
我想在用户的数据库结果集和朋友的结果集之间找到匹配项。 首先,我正在调用数据库以获取用户项目的 ID:
$user_simp_items = Item::select('simp_id')->where('user_id', $user_id)->get();
然后我遍历朋友并拨打电话以获取他们的物品ID:
$friend_simp_items = Item::select('simp_id')->where('user_id', $friend_id)->get();
为了找到匹配的 id,我想对结果集执行 INNER JOIN。我如何在 Laravel 中做到这一点?
我想做一些类似 inner_join($user_simp_items, $friend_simp_items) 的事情,然后只得到匹配项的结果集。
【问题讨论】:
-
laravel 可以使用哪个版本。
-
如果这两个表相关,则使用Inner Join Clause 或Eloquent。
-
这是否也适用于已经完成的查询?因为我需要在不同的地方进行查询,所以我不能将它写在一个查询中,所以我必须加入结果集合
-
您总是可以急切地加载“朋友”方法吗?这会以牺牲模型中的一些额外代码为代价来简化您的第一个查询?这样调用你的 $user_simp_items 总是会让你也可以访问朋友?
标签: sql laravel eloquent inner-join