首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel eloquent -按起始字符串排序

问Laravel eloquent -按起始字符串排序
EN

Stack Overflow用户
提问于 2019-05-15 04:58:30
回答 2查看 290关注 0票数 0

假设我有3个用户,我想通过名字"Robert“进行过滤

“艾伯特·罗伯特·威尔逊”、“罗伯特·梅根”、“威廉·乔”

我希望我的sql能够找到包含Robert的所有记录,但是按照Robert Magan在开头的方式排序,因为它以关键字开头,然后是Albert Robert Wilso

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-15 06:12:36

您应该在问题中提供示例模型/表名和列名。但是假设模型是User,列是name。我认为这样的东西可以工作(未经过测试):

代码语言:javascript
复制
User::where('name', 'like', '%Robert%')->orderBy(\DB:raw('POSITION("Robert" IN name)', 'asc')->get();

但请注意不要产生SQL注入漏洞!

票数 2
EN

Stack Overflow用户

发布于 2019-05-15 05:01:42

您可以使用一些原始的mysql和字符串操作来解决这个问题,以便按第一个单词排序。

另一种方法是将关键字和剩余的或完整的字符串拆分为两个单独的列,然后按关键字列排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56138512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档