Laravel 5.4排序

Vir*_*jer 3 php mysql sql laravel laravel-5.4

我有2列,模型和动作.我想要实现的第一件事是从A到Z订购模型.

我正在这样做

orderBy('model', 'ASC')
Run Code Online (Sandbox Code Playgroud)

然后我想订购索引,创建,存储等操作列.我有一个查询,我试图按顺序排序结果:索引,创建,存储,显示,编辑,更新,销毁, [ 其他一切 ].

然而,我得到的结果是:[ 其他所有 ],索引,创建,存储,显示,编辑,更新,销毁

查询:

Permission::orderBy('model', 'ASC')->orderByRaw("FIELD(action, 'index', 'create', 'store', 'show', 'edit', 'update', 'destroy')")->get();
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

  • 模型1,索引
  • 模型1,创建
  • 模特1,商店
  • 等等
  • 模型1,其他一切
  • 模型2,索引
  • 模型2,创造
  • 模特2,商店
  • 等等
  • 模型2,其他一切

有谁知道如何解决这个问题?

谢谢

May*_*eyz 7

orderBy方法允许您按给定列对查询结果进行排序.orderBy方法的第一个参数应该是您希望排序的列,而第二个参数控制排序的方向,可以是asc或者desc,检查示例:

$users = DB::table('table')
->orderBy('name', 'desc')  // You can pass as many columns as you required
->get();
Run Code Online (Sandbox Code Playgroud)