【问题标题】:Orderby multiple columns按多列排序
【发布时间】:2018-04-29 03:24:14
【问题描述】:

我正在使用 Backpack for Laravel,Crud 模块。

如何将 orderby() 用于多列?

示例:

$this->crud->orderBy('name','desc')->orderBy('year,'asc');

我看过src和orderby只接受一个参数。

有什么建议吗?

【问题讨论】:

标签: laravel-backpack


【解决方案1】:

您应该能够将任意数量的 orderBy 方法链接到 CRUD 的 query 属性,这是将要执行的实际查询:

$this->crud->query = $this->crud->query->orderBy('name', 'desc')->orderBy('year', 'asc');

【讨论】:

  • 我有“选择列”的关系,它们按 id 排序,而不是按值排序。我有:$this->crud->query = $this->crud->query->with(['artista' => function ($query) { $query->orderBy('nome_artista', 'asc'); }])->get(); 但我收到此错误:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'nome_artista' in 'order clause' (SQL: select * from artisti where artisti.id in (1, 3, 7) order by nome_artista asc) 急切加载不起作用。
猜你喜欢
  • 1970-01-01
  • 2014-04-11
  • 2018-03-12
  • 2015-06-21
  • 2016-09-22
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多