【发布时间】:2019-04-18 20:29:02
【问题描述】:
我有 3 个连接/有关系的表。
- 帖子表有多个标签和一个类别
- 类别表有很多帖子
- 标签表有很多帖子
我想要一个搜索功能,我知道如何只使用帖子进行搜索(基于标题)。
我尝试使用控制器中的 Where 搜索每个表,但仍然没有成功。
public function Search(Request $request)
{
$search = $request->search;
$posts = post::where('title', 'like', "%{$search}%")->paginate(5);
return view('search', compact('posts'))->with('result', $search);
}
例如
我有一个标题为“测试”的帖子,类别为“Tost”,标签为“Tast and Tust”
所以如果我输入标题、类别或标签,我希望它显示出来。我怎样才能实现它?
【问题讨论】:
-
这是 Post::where() 不是 post::where()
-
你研究过 orWhere() 函数吗?您可以将您的表连接在一起并按照 orWhere('category.name', 'LIKE', '%data%');
标签: laravel laravel-5.8