我正在使用基于Laravel的OctoberCMS。
我有一个html搜索字段,查询字符串用php解析。
Laravel使用MySQL tag
根据网址WHERE LIKE
参数返回数据库结果。
它适用于1个标签,但如何返回匹配多个以逗号或空格分隔的标签的结果?
<form action="/search">
<input type="search" name="tags" multiple>
<button type="submit">search</button>
</form>
localhost/search?tags=galaxy
逗号
localhost/search?tags=galaxy%2C+stars%2C+universe
空间
localhost/search?tags=galaxy+stars+universe
这应该返回数据库表的标签列中匹配的任何标签。
问题在于它将查询视为galaxy AND stars AND universe
而不是单个标记:galaxy
,stars
,universe
。
$query_string = $tags = '';
$query_string = getenv('QUERY_STRING');
// Return search results matching query string
return $query->where('tags', 'like', "%$tags%");
$query是OctoberCMS的一部分。
答案 0 :(得分:0)
混淆,.尝试使用逻辑OR在表格列中查找值可能会有所帮助,如果您从网页中找到它首先获取功能中的元标记,例如google use search for search result