如何在Laravel中定义路由变量 视图调用变量报错该如何解决
你目前的问题是控制器返回视图时没有绑定需要的$abouts变量,按以下步骤调整即可:
- 第一步:修改
AboutController的about方法,先获取对应数据集再绑定到视图
public function about() { // 此处按你的业务逻辑获取abouts数据集,示例为从About模型查询所有数据 $abouts = \App\Models\About::all(); // 三种绑定变量到视图的写法任选其一即可,效果完全一致 // 写法1:直接传关联数组 return view('about', ['abouts' => $abouts]); // 写法2:用with方法链式调用 // return view('about')->with('abouts', $abouts); // 写法3:用compact简化写法(变量名和传往视图的键名一致时推荐) // return view('about', compact('abouts')); }
- 第二步:可选优化,调整视图循环逻辑,避免数据集为空时报错
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <ul> <div class="row align-items-center mr-5"> {{-- 用forelse替代foreach,空数据时展示兜底提示 --}} @forelse($abouts as $about) <div class="col-lg-6 pl-lg-5 "> <h3 class=" font-weight-bold">About Us</h3> <p class="text-justify pt-3 mr-5">Test.</p> <p class="text-justify pt-3 mr-5">Test.</p> </div> @empty <p>暂无关于我们相关内容</p> @endforelse </div> </ul> </body> </html>
- 额外说明:你的路由定义本身没有问题无需调整,视图路径如果是
resources/views/about.blade.php,view('about')的写法即可,无需加前缀斜杠。
内容的提问来源于stack exchange,提问作者user12371426
相关产品推荐
相关产品推荐

