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

Laravel中控制器数据无法传递至视图问题排查

问题原因及解决方法
  • 重定向时用with()传递的数据是存在Session闪存中的,不是直接作为视图变量注入的,所以你直接在视图里调用$data肯定拿不到。

  • 解决方法:

    1. 直接在视图中从Session读取数据:
      @dump(session('data') ?? '')
      
      也可以用Facade方式读取:
      @dump(\Illuminate\Support\Facades\Session::get('data') ?? '')
      
    2. 若希望把Session数据转为视图变量,可在编辑页面对应的控制器方法里手动取出并传递:
      public function edit(Prop $prop)
      {
          $data = session('data') ?? [];
          return view('admin.my-view.edit', compact('prop', 'data'));
      }
      
  • 补充说明:

    • Laravel的redirect()->with()本质是闪存Session,数据仅在下一次请求中有效,刷新页面后数据会自动清除,这是框架的正常设计。
    • 初始加载编辑页面时,本来就没有data相关数据,所以显示空字符串是合理的,只有重定向过来的请求才会携带该Session数据。

内容的提问来源于stack exchange,提问作者devsead

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:12:01