Laravel 5.4排序

4

我有两列,分别是 Model 和 Action。 首先我想实现的是按照字母顺序将 Model 排序。

使用以下方式来实现:

orderBy('model', 'ASC')

我希望在索引、创建、存储等操作中按顺序排序动作列。

我有一个查询,想要按照以下顺序排序结果:索引、创建、存储、显示、编辑、更新、删除、[其他所有]。

但是我得到的结果是:

[其他所有],索引、创建、存储、显示、编辑、更新、删除。

查询:

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

结果应该类似于:
  • 模型1,索引
  • 模型1,创建
  • 模型1,存储
  • 等等
  • 模型1,其他所有内容
  • 模型2,索引
  • 模型2,创建
  • 模型2,存储
  • 等等
  • 模型2,其他所有内容
有人有想法如何解决这个问题吗?
谢谢
1个回答

8

orderBy方法允许你按照给定的列对查询结果进行排序。 orderBy方法的第一个参数应该是你想要排序的列,而第二个参数控制排序的方向,可以是ascdesc。请查看以下示例:

$users = DB::table('table')
->orderBy('name', 'desc')  // You can pass as many columns as you want
->get();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接