如何在BelongToMany关系中搜索



如何在laravel中的BelongsToMany关系中搜索?看起来我好像理解了一些错误的

以下是我的代码:

public function search(Request $request, Project $post)
{
$this->validate($request, [
'query' => 'required'
]);
$query = $request->input('query');
$post  = Post::where('title', 'like', "%$query%")
->orWhere($post->tags()->role, 'like', "%$query$%")
->paginate(6);   
return view('post.search', [
'post' => $post,
]);
}

如果要搜索关系,可以使用whereHasorWhereHas方法。

你的搜索功能可能可以这样。

public function search(Request $request, Project $post)
{
$this->validate($request,[
'query' => 'required'
]);
$query = $request->input('query');
$post = Post::where('title', 'like', "%$query%")
->orWhereHas('tags', function($q) use ($query) {
$q->where('role', 'like', "%{$query}%");
})->paginate(6);   
return view('post.search',[
'post' => $post,
]);
}

最新更新