如何在laravel中自定义订单和从最大到最小

时间:2021-01-20 07:42:34

标签: mysql laravel laravel-query-builder

我的数据是

id       name
----------------
1      L_one
2      z_odin
3      e_lock
4      b_block
5      L_joke

我想这样下订单

id       name
------------------
5      L_joke
1      L_one
4      b_block
3      e_block
2      z_odin

首先,我想以“L”开头的orderby命名。其次,我想将id从大到小排序。
在这种情况下我该如何编码?
谢谢大家

我试过这个问题。 实际上,我的问题有点复杂。所以,我问了一个非常简单的解决方案来解决我的问题。




已编辑

我试过的代码在这里

Product::where('state','<>','banned')->where('created_at','LIKE',$today.'%')
    ->union(Product::orderBy('view', 'DESC'))->take(80)->get();
Product::orderBy(DB::raw('FIELD(created_at, "2021-01-18 ++")'),'DESC')->orderBy('view','desc')->get();
Product::whereDate('created_at', now())->orderBy('view','desc')->get();

我还阅读了 Laravel 文档。 我也在搜索类似的问题。 但是北上来解决我的问题。

1 个答案:

答案 0 :(得分:0)

回答

$answer = Model::orderByRaw('SUBSTRING(name, 1, 1)="L" desc, id desc')->get();
相关问题