我正在寻找一个查询来检查我的$tag-variable(字符串)是否是我通过输入字段放入数据库的字符串的一部分。用户可以通过用逗号分隔来添加文章或给文章添加标签。这一切工作,用户可以去文章/{tag} url,但我不能显示所有的文章与特定的标签。
那么我需要做什么呢?我需要检查$tag是否是数据库中字符串的一部分(在"tags"列中)。我试过了,这是我的控制器。我真的不知道contains()函数是否有效。
这是我的控制器代码: public function getTag($tag)
{
$articles = Article::where('tags',contains('tags', $tag))->get();
return view("article.tagFilter")->with('articles',$articles);
}
正确的解决方案是:
$articles = Article::where('tags', 'LIKE', '%'.$tag.'%')->get();
感谢lamzozo!
如果我理解正确,您在文章表中有一个tags
varchar列(其中有逗号分隔的字符串),并且您想要搜索此
$articles = Article::where('tags', 'LIKE', "%$tag%")->get();