1 回答

TA贡献1859条经验 获得超6个赞
该方法all()返回一个集合,您不能在其上使用查询构建器方法。(同样当您查询构建时,您不需要一遍又一遍地分配值 $posts)
public function blogsearchresults(Request $request)
{
$attributes = request()->validate([
'countrytag_id'=>'required_without_all:citytag_id,categorytag_id',
'citytag_id'=>'required_without_all:countrytag_id,categorytag_id',
'categorytag_id'=>'required_without_all:countrytag_id,citytag_id'
]);
$postQuery = Post::query();
if($request->has('countrytag_id')) {
$countryid = $attributes['countrytag_id'];
$postQuery->whereHas('countrytags', function ($query) use ($countryid){
$query->wherein('countrytag_id', $countryid);
});
}
if($request->has('citytag_id')) {
$cityid = $attributes['citytag_id'];
$postQuery->whereHas('citytags', function ($query2) use ($cityid){
$query2->wherein('citytag_id', $cityid);
});
}
if($request->has('categorytag_id')) {
$categoryid = $attributes['categorytag_id'];
$postQuery->whereHas('categorytags', function ($query3) use ($categoryid){
$query3->wherein('categorytag_id', $categoryid);
});
}
$posts = $postQuery->paginate();
return view('pages.blog.blogsearchresults', compact('posts'));
}
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报