Laravel搜索数据库表,用于查询的部分匹配

时间:2016-05-26 14:41:30

标签: php mysql json database laravel

我想编写一个搜索查询,该查询使用提供的短语来搜索表并返回与短语的任何部分匹配的第一个值。就像使用str_contains()starts_with()来匹配一样。

我需要匹配整个值的查询,否则它将始终返回null。

这是为了检查数据库表中是否存在地址。

$addressvalidation = CheckAddress::where('address', '=', $fulladdress)->value('address');

$fulladdress是我希望用于在数据库中搜索匹配项的1 Infinite Loop Cupertino部分地址。

CheckAddress是表的查询模型。

address是表格中的列名。

问题是我无法使用str_contains()starts_with()使用部分短语查询数据库。如果我匹配像1 Infinite Loop Cupertino, CA 95014

这样的整个值,则查询会受到影响

1 个答案:

答案 0 :(得分:4)

试试这个:

$addressvalidation = CheckAddress::where('address', 'like', "%{$fulladdress}%")->value('address');

另外,请查看where语句的文档:https://laravel.com/docs/5.2/queries#where-clauses