Laravel 8 视图报Undefined variable $brands 问题求助
问题原因
你控制器中compact()函数的使用方式错误,导致$brands变量没有正确传递到Blade模板。
PHP的compact()函数接收的参数是变量名的字符串形式,而非变量本身。你当前写的compact($brands)等价于把$brands数组里的每一项值当做变量名去查找,自然找不到对应要传递的brands变量。
修复方案
修改控制器BrandView方法内的返回代码即可:
public function BrandView() { $brands = Brand::latest()->get(); // 把compact参数改为字符串形式的变量名 return view('backend.brand.brand_view', compact('brands')); }
你也可以用数组形式传递变量到模板,逻辑和上述写法完全一致:
return view('backend.brand.brand_view', [ 'brands' => $brands ]);
内容的提问来源于stack exchange,提问作者Zunain Shareef
相关产品推荐
相关产品推荐

