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

Laravel中Undefined property: stdClass::$name错误求助

问题分析与解决方案

嘿,我一眼就发现问题出在哪啦!你遇到的Undefined property: stdClass::$name错误,根源完全在你的控制器代码里。

错误原因

你在listar方法里连续三次给$users变量赋值,每次都只查询单个字段:

$users = DB::table('users')->select('name')->orderBy('updated_at', 'desc')->get();
$users = DB::table('users')->select('email')->orderBy('updated_at', 'desc')->get();
$users = DB::table('users')->select('phone')->orderBy('updated_at', 'desc')->get();

这意味着前两次查询的结果都被第三次覆盖了,最终$users里的每个对象只有phone属性,完全没有name和email字段。所以视图里调用$u->name和$u->email时,自然会找不到对应的属性,抛出错误。

修复方案

只需要把三次查询合并成一次,一次性选中你需要的所有字段即可:

public function listar(){
    $users = DB::table('users')
                ->select('name', 'email', 'phone') // 一次性选中三个需要的字段
                ->orderBy('updated_at', 'desc')
                ->get();
    return view('你的视图文件名', compact('users')); // 记得把数据传递给视图!
}

另外要确认你在控制器最后把$users传递给了视图(如果之前没写这行的话),不然视图也拿不到数据。

你的视图代码本身是没问题的,只要控制器传递的$users包含name、email、phone三个字段,就能正常显示数据库里的用户信息啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:01:52