集合查询生成器 - orderBy 多个值
Posted
技术标签:
【中文标题】集合查询生成器 - orderBy 多个值【英文标题】:Collection Query Builder - orderBy multiple values 【发布时间】:2019-05-26 11:24:49 【问题描述】:在我的 eloquent 模型中,我有一个位置行。它包含 5 个可能的答案,例如:
酒店
住宿
库
其余值
我想执行orderBy
并希望它们按此顺序列出。有没有办法用orderBy
实现它?比如:
People::orderBy('location', ['Hotel, 'Library', 'Accommodation']);
实现这一目标的最佳方法是什么?
【问题讨论】:
位置行是什么意思?您能否再解释一下您的表结构(使用示例数据和列名)? 酒店、住宿、图书馆为数据值,location
为表列名
【参考方案1】:
因此,您可以通过以下方式实现:
People::orderByRaw("FIELD(location , 'Hotel, 'Library', 'Accommodation') ASC")
当然,你可以选择 ASC 或 DESC。
【讨论】:
以上是关于集合查询生成器 - orderBy 多个值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 LIKE 关键字和在 laravel 查询生成器中传递变量来制作自定义 orderBy 或 DB::raw(FIELD())
为 orderby 生成 sql 查询的方法是不是在 tiny_tds 0.2.3 和 0.4.3 之间更改