laravel - 在 Laravel 的不同列中按日期排序
问题描述
我似乎无法在 Laravel 7 中按月排序。我对月、日、年和时间使用不同的列,而不是按月排序,而是按字母顺序对月份进行排序。
预期结果:一月、二月、三月、四月
实际结果:四月、二月、一月、三月
这是我的代码:
$ledgers = Ledger::orderBy('month', 'DESC')
->orderBy('day', 'DESC')
->orderBy('year', 'DESC')
->orderBy('time', 'DESC')
->where('user_id', auth()->user()->id)
->paginate(8);
解决方案
首先:我必须说你应该像蒂姆刘易斯在评论中所说的那样将你的日期信息存储在日期时间列中的数据库中......
您可以使用按字段排序的任何方式,这种顺序使结果根据您提供的字段排序...
$ledgers = Ledger::orderByRaw('FIELD(month,'January','February','March','May', 'June','July','August','September','October','November','December')')
->orderBy('day', 'DESC')
->orderBy('year', 'DESC')
->orderBy('time', 'DESC')
->where('user_id', auth()->user()->id)
->paginate(8);
请参见:
推荐阅读
- c# - 在 JSON 中,如何使用 C# 将相同的键值对递归添加到现有键之一
- forms - 在 Coldfusion 中,如何将多个具有相同名称的复选框值插入到数据库中?
- sql - Maximo 中的 ASSET 表是否有主键?
- ios - 将 ObjectiveC 中具有外部依赖项的项目绑定到 Xamarin iOS
- json - 如何将 API 列表和授权密钥存储在 appsetting 文件中
- r - 删除字符串向量中大于 11 的所有数字 - R
- python - 具有重复索引值的 df.Pivot
- html - Schema:列出嵌套对象时是否有必要(甚至可取)重复结构化数据?
- javascript - 配置 intern.json 文件以映射到所有依赖项
- java - 如何使用 KAFKA 提供的压缩将 JAVA 对象发送到 kafka?