Php var dump在laravel中返回一个空数组

Php var dump在laravel中返回一个空数组,php,laravel,Php,Laravel,在以下代码成功获取数据后运行var\u dump($posts\u id): $posts_pins = DB::table('pins') ->join('posts', 'posts.id', '=', 'pins.post_id') ->where('pins.post_id', '=', $posts_id) ->get(); var_dump($posts_id); ex

在以下代码成功获取数据后运行
var\u dump($posts\u id)

$posts_pins = DB::table('pins')
        ->join('posts', 'posts.id', '=', 'pins.post_id')
        ->where('pins.post_id', '=', $posts_id)
        ->get();

            var_dump($posts_id);
            exit();
输出:

object(Illuminate\Support\Collection)[199]
  protected 'items' => 
    array (size=24)
      0 => int 62
      1 => int 63
      2 => int 64
      3 => int 65
      4 => int 66

var\u dump($posts\u pins)
会返回一个空数组。。。有什么想法吗?

基于您的
var\u dump($posts\u id)
我想说您需要一个子句,可能还需要一个:

toArray()
可能不是必需的,我不确定其中的
是否会自动转换它


原因是您使用的是post-ID数组,而
where()
方法只接受一个值进行比较,
where()
接受多个值。

基于
var\u dump($posts\u-ID)
我认为您需要一个子句,可能还需要一个:

toArray()
可能不是必需的,我不确定其中的
是否会自动转换它


原因是您使用的是post-ID数组,而
where()
方法只接受一个值进行比较,而
where()
方法接受多个值。

您不想走雄辩的路线吗?
$posts\u-ID
是否设置并设置为合理的值?当您
var_dump(DB::table('pins')->join('posts','posts.id','=','pins.post_id')->where('pins.post_id','=','posts_id')->toSql()?这个问题有意义吗?使用
$posts\u id
的值运行该查询时会发生什么?
=
用于测试单个值。您正在传递多个值,这意味着您需要在
中输入一个
。您不想走有说服力的路线吗?是否将
$posts\u id
设置并设置为有意义的内容?当您
var_dump(DB::table('pins')->join('posts','posts.id','=','pins.post_id')->where('pins.post_id','=','posts_id')->toSql()?这个问题有意义吗?使用
$posts\u id
的值运行该查询时会发生什么?
=
用于测试单个值。您正在传递多个值,这意味着您需要在
中输入一个
。工作正常。。。谢天谢地。。。谢谢
$posts_pins = DB::table('pins')
            ->join('posts', 'posts.id', '=', 'pins.post_id')
            ->whereIn('pins.post_id', $posts_id->toArray())
            ->get();