按多个列对 Eloquent 集合进行排序的语法是什么?
我知道在使用查询构建器时,可以使用
...orderBy('column1')->orderBy('column2')
但现在我正在处理一个集合对象。集合有方法,但我无法弄清楚如何使其适用于多个列。直观地说,我最初尝试使用与 相同的语法。sortBy
orderBy
sortBy('column1')->sortBy('column2)
但这显然只是按顺序应用排序,最终按列2排序,忽略列1。我试过了
sortBy('column1', 'column2')
但这会引发错误“asort() 期望参数 2 很长,给出字符串”。用
sortBy('column1, column2')
不会抛出错误,但排序似乎非常随机,所以我真的不知道它实际上做了什么。我查看了 sortBy 方法的代码,但不幸的是,我很难理解它是如何工作的。