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();