首页 > 解决方案 > Laravel 查询生成器:“LIKE”的反向?

问题描述

我需要相反的 LIKE 比较。例如,如果我的数据库包含一个名字为“Daniel”的人,并且我搜索名字“dan”,那么我想获得成功。查询在我使用时有效

->where('firstName', 'like', '%'.$searchTerm.'%')

如果我的数据库包含“Dan”并且我想在搜索“Daniel”时获得成功,但在搜索“Steve”时却没有,我会使用什么?基本上,我想要将通配符 % 放在字段周围而不是搜索词周围的效果。

我在 Laravel 5.6 中使用查询生成器

[为清楚起见编辑]

标签: laravel-5laravel-query-builder

解决方案


您可以交换列和搜索词:

->whereRaw("? LIKE CONCAT('%', `firstName`, '%')", [$searchTerm]);

推荐阅读