我得到一个错误,说"试图获得非对象的属性'name' ";当我尝试使用分页点击下一页时。
这是我的控制器:
$websites = Website::all();
$menu = Menu::with('categories')->whereHas('categories', function ($query) {
$query->where('slug', request()->category);
})->paginate(8);
$categories = Category::all();
$categoryName = $categories->where('slug', request()->category)->first()->name;
return view('shopmenu')->with([
'menu' => $menu,
'categories' => $categories,
'categoryName' => $categoryName,
'websites' => $websites,
]);
错误如下:
$categoryName = $categories->where('slug', request()->category)->first()->name;
如何解决这个问题?
您需要检查是否有任何记录,然后尝试访问name
。
$categoryName = $categories->where('slug', request()->category)->first();
if ($categoryName) {
$categoryName = $categoryName->name;
}
基本上由于链接,当你在这个查询$categories->where('slug', request()->category)->first()
中得到null
,你试图访问null
上的name
属性,你会得到这个错误。