Laravel orderbyraw字段不是一个函数sqlite

mepcadol  于 2023-08-06  发布在  SQLite
关注(0)|答案(1)|浏览(135)

我正在转换mysql到sqlite,但每当我尝试使用相对于数组排序项目与

$query->whereIn('id',$member_ids) ->orderByRaw("FIELD(id, $ids_ordered)");

字符串
我得到以下错误:

General error: 1 no such function: FIELD (SQL: select * from "mst_members" where "id" in (1, 3, 2) order by FIELD(id, 1,3,2))


如何在sqlite和laravel 8中实现给定数组排序?

t0ybt7op

t0ybt7op1#

您可以执行多个orderBy以按不同字段分组,例如:

$query->whereIn('id',$member_ids)
     ->orderBy('field1','desc')
     ->orderBy('field2','asc')
     ->get();

字符串
您可以使用第二个参数来决定如何对它进行排序 asc或desc 以进行升序或降序。
参考:OrderBy Laravel Doc

相关问题