我想编写一个搜索查询,使用提供的短语搜索表格并返回与该短语的任何部分匹配的第一个值。像使用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
最佳答案
试试这个:
$addressvalidation = CheckAddress::where('address', 'like', "%{$fulladdress}%")->value('address');
另外,查看 where 语句的文档:https://laravel.com/docs/5.2/queries#where-clauses
关于php - 从查询中部分匹配的 Laravel 搜索数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37464060/