我想编写一个搜索查询,该查询使用提供的短语来搜索表并返回与短语的任何部分匹配的第一个值。就像使用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
答案 0 :(得分:4)
试试这个:
$addressvalidation = CheckAddress::where('address', 'like', "%{$fulladdress}%")->value('address');
另外,请查看where语句的文档:https://laravel.com/docs/5.2/queries#where-clauses