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

Laravel视图中如何正确访问控制器传递的数组元素?

解决Laravel视图中数组访问报错的问题

嘿,这个问题我太熟悉了!你遇到的「Trying to get property of non-object」报错,主要有两个关键原因:

  1. 变量名缺失$符号:Blade模板里访问变量必须以$开头,你写的information应该是$information;
  2. 数组被当成对象访问:控制器里传递的$information是关联数组,不是PHP对象,所以不能用->语法获取元素,得用数组索引的方式。

方案一:直接用数组索引访问(最简单)

修改你的index.blade.php代码,改成数组访问的形式,同时补上$:

number of clients: {{ $information['nroclients'] }} <br>
number of services: {{ $information['nroservices'] }}

方案二:把数组转成对象再传递

如果你更习惯用->语法访问,可以在控制器里把数组转换成对象,再传递给视图:

public function index () {
    // 把数组强制转换成对象
    $information = (object)[
        'nroclients' => '10',
        'nroservices' => '20',
        'nrousuers' => '30',
        'nroordensservices' => '40',
    ];
    return view ('dashboard.index', compact ('information'));
}

或者转成Laravel集合(功能更丰富,支持更多链式操作):

public function index () {
    $information = collect([
        'nroclients' => '10',
        'nroservices' => '20',
        'nrousuers' => '30',
        'nroordensservices' => '40',
    ]);
    return view ('dashboard.index', compact ('information'));
}

这两种转换后,你原来的Blade代码(补上$后)就能正常运行了:

number of clients: {{ $information->nroclients }} <br>
number of services: {{ $information->nroservices }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:12:01