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

Laravel 5:如何从控制器传递单个变量并在Blade视图中接收?

Laravel Blade视图接收控制器传递变量的问题解决

嘿,我来帮你搞定这个变量接收的问题!先还原下你的场景:

你在Laravel 5控制器里是这么传递变量的:

$data['getId'] = $id; // 比如$id的值是12
return view('Administrator.notification.index', $data);

但在Blade视图里用{{getId}}的时候,出现了这个错误:

Use of undefined constant getId - assumed 'getId'

正确的接收方式其实很简单:

你只需要在视图里给变量名加上**美元符号$**就行,也就是写成:

{{ $getId }}

为什么原来的写法会报错?

因为在PHP里,直接写getId会被解释成一个常量,而你并没有定义过这个常量,所以就抛出了“未定义常量”的错误。加上$之后,PHP才会把它识别成视图里的变量,和你在控制器里传递的$data['getId']对应上。

顺便给你补充几种更简洁的变量传递方式:

  • 使用compact函数,直接传递变量名:
return view('Administrator.notification.index', compact('id'));

这时视图里直接用{{ $id }}就能拿到值。

  • 使用with方法链式传递:
return view('Administrator.notification.index')->with('getId', $id);

这种方式下,视图里同样用{{ $getId }}来接收。

内容的提问来源于stack exchange,提问作者Niladri Banerjee - Uttarpara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:32:58