Laravel 5:是否有一种非区分大小写的方式来按属性对集合进行排序?

Ese*_*eth 7 php sorting laravel eloquent

我正在努力使用该sortBy()方法对Eloquent集合进行排序.问题是排序区分大小写,它首先检索大写结果,然后检索小写结果,但我想要实现的是对每个项目进行排序,无论它是大写还是小写.

Gia*_*mPy 18

sortBy() 第二个参数允许您设置有关如何处理排序的一些标志.

标志与PHP sort()本机功能完全相同.

  • SORT_REGULAR - 正常比较项目(不要更改类型)
  • SORT_NUMERIC - 以数字方式比较项目
  • SORT_STRING - 将项目比较为字符串
  • SORT_LOCALE_STRING - 根据当前区域设置将项目作为字符串进行比较.它使用locale,可以使用setlocale()更改
  • SORT_NATURAL - 使用"自然排序"比较项目作为字符串,如natsort()
  • SORT_FLAG_CASE - 可以与SORT_STRING或SORT_NATURAL组合(按位或)以对字符串不区分大小写进行排序

来源:php.net

你可以尝试使用$collection->sortBy('key', SORT_NATURAL|SORT_FLAG_CASE).