我正在寻找一个查询来检查我的$ tag-variable(一个字符串)是否是我通过输入字段放入数据库的字符串的一部分。用户可以通过用逗号分隔文章来为其添加标签。所有工作和用户都可以转到文章/ {tag}网址,但我无法显示具有该特定标记的所有文章。
那我该怎么办?我需要检查$ tag是否是数据库中的字符串的一部分(在“tags”列中)。我试过了,这是我的控制器。我真的不知道contains() - 函数是否有效。
这是我的控制器代码:
public function getTag($tag)
{
$articles = Article::where('tags',contains('tags', $tag))->get();
return view("article.tagFilter")->with('articles',$articles);
}
答案 0 :(得分:0)
如果我理解正确,你在文章表中有一个tags
varchar列(逗号分隔的字符串),你想要搜索它。
$articles = Article::where('tags', 'LIKE', "%$tag%")->get();
答案 1 :(得分:0)
这里正确的解决方案是:
$articles = Article::where('tags', 'LIKE', '%'.$tag.'%')->get();
感谢lamzozo!