这个查询不能正常工作,它只显示 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]
关于php - 查询 Laravel 选择 WhereIn 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159729/