集合查询生成器 - 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 多个值的主要内容,如果未能解决你的问题,请参考以下文章