laravel 5,where子句具有多个值

mrb*_*ide 3 where-clause laravel

我想将所有$ id值传递给下面代码中的where子句,第3行.但是因为我试图返回$ friend它是null.我是否错误地解决了$ id值?或者我在查询中弄错了?我检查了我的数据库,它应该返回2行.

我还通过返回它来检查$ id并返回我期待的内容,我猜我在$ friend行的查询中出错了.

$x = user->id;  

$id = DB::table('requests')->select('id')->where('id', '=', $x)->get();

$friend = DB::table('users')->where('id', 'in', $id)->get();
Run Code Online (Sandbox Code Playgroud)

Yas*_*vov 10

您需要使用whereIn(),也许整个交易的更好选择是:

$ids = DB::table('requests')->where('id', $x)->lists('id');
$friend = DB::table('users')->whereIn('id', $ids)->get();
Run Code Online (Sandbox Code Playgroud)

注意whereIn()的第二个参数需要是一个数组.