[英]Query Laravel Select WhereIn Array
此查询无法正常工作,它只显示1行
$data = Post::select('id', 'name')
->whereIn('id', [$order])
->orderByRaw(\DB::raw("FIELD(id, $order)"))
->get();
但这很好,它显示所有行
$data = Post::select('id', 'name')
->whereIn('id', [1,2,3])
->orderByRaw(\DB::raw("FIELD(id, $order)"))
->get();
谢谢!
您的查询在这里: -
$data = Post::select('id', 'name')
->whereIn('id', $order)
->orderByRaw(\DB::raw("FIELD(id, ".implode(",",$order).")"))
->get();
从$order
删除[]
。
对于WhereIn
条件,第二个参数应该是一个数组。 所以$order
应该是
$order = [1,2,3,4]
如果你的$order
是一个数组,我认为你应该这样做
whereIn('id', $order)
而不是whereIn('id', [$order])
PS在官方文档中提到第二个参数应该是一个数组:
$users = DB::table('users')
->whereIn('id', [1, 2, 3])
->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.