Laravel查询用户总积分时出现Undefined property: stdClass::$point错误如何解决
问题原因
你在构造查询语句时,使用sum()聚合积分字段没有设置别名,导致查询返回的stdClass对象中不存在point属性,所以视图渲染时调用$tot->point触发了未定义属性报错。
解决方法
修改控制器的查询语句,给聚合后的积分结果设置point别名即可,修改后的控制器代码如下:
public function ViewActionUserTotal() { $total = DB::table("action_users") ->join("users", "users.id", "action_users.user_id") ->select("users.id","users.name","users.email", DB::raw("sum(action_users.point) as point")) ->groupBy("users.id","users.name","users.email")->get(); return view('backend.usersaction.total',compact('total')); }
修改后查询返回的每个对象都会自动携带point属性,视图中原有渲染代码无需调整即可正常输出总积分。
内容的提问来源于stack exchange,提问作者ALAA ELDIN
相关产品推荐
相关产品推荐

