gpt4 book ai didi

Laravel:如何对忽略语言文章的 Eloquent 集合进行排序?

转载 作者:行者123 更新时间:2023-12-04 17:47:15 25 4
gpt4 key购买 nike

在 laravel 中,是否有任何方法可以忽略某种语言的冠词(例如英语中的 a、an、the;西类牙语中的 el、la;等)来对集合进行排序?

我想要类似 jQuery Tablesorter 的东西对于标题,但我只能找到

How to sort an array with PHP, ignoring the articles (a, an, the) in the beginning?

How to sort in SQL, ignoring articles ('the", "a', "an" etc) .

如果它是一个数组就好了,但是我有带分页的集合,对分页结果进行排序没有意义,因为它只会对有限的结果而不是整个集合进行排序。

最佳答案

如果你没有分页集合,@Alexey 的回答确实解决了这个问题,因为我有分页,我通过使用 orderByRaw() 解决了这个问题。方法和正则表达式大小写匹配。希望这对处于类似情况的人有所帮助。

$query->orderByRaw("CASE
WHEN title REGEXP '^("a|an|the|el|la")[[:space:]]' = 1 THEN
TRIM(SUBSTR(title, INSTR(title, ' ')))
ELSE title
END ASC");

关于Laravel:如何对忽略语言文章的 Eloquent 集合进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com