You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 23:18:01