Laravel动态值引入Blade视图报错求助
解决Laravel Blade中@include动态视图的错误问题
嘿,我来帮你搞定这个问题!你遇到的错误根源是Blade指令里的语法写法不对,导致框架没有正确解析你的变量。
错误原因分析
你写的@include(' {{ $cats->id }}')存在两个关键问题:
- 给变量套了单引号,Blade会把整个
' {{ $cats->id }}'当成固定的视图名称字符串,而不是去解析$cats->id的实际值。 - 变量外面多了一层
{{ }}和空格——Blade指令内部本身就支持直接使用变量,完全不需要额外用插值语法包裹。
所以框架会尝试去找名为{{ $cats->id }}的视图文件,而不是你期望的1.blade.php,自然就抛出了"View not found"的错误。
正确的写法
你只需要直接把变量传给@include就行,不需要加引号和多余的花括号:
@include($cats->id)
如果你的视图文件放在子目录里(比如views/cats/1.blade.php),可以用字符串拼接的方式指定路径:
@include('cats.' . $cats->id)
额外验证小技巧
为了确保变量值没问题,你可以先在视图里输出变量确认一下:
{{ $cats->id }} {{-- 先确认这里是不是输出1 --}} @include($cats->id)
这样就能正常加载对应的视图文件啦!
内容的提问来源于stack exchange,提问作者Bosstone
相关产品推荐
相关产品推荐

