我正在尝试以平均评分显示数据库中的数据。这是我的代码: -
$packages = DB::table('packages')
->join('agents', 'packages.agent_id', '=', 'agents.id')
->join('comments', 'packages.package_id', '=', 'comments.package_id')
->orderBy('packages.created_at', 'desc')
->select(DB::raw('avg(comments.rating) as rating'), 'agents.*', 'packages.*')
->groupBy('comments.package_id')
->paginate(8);
这是我的错误
SQLSTATE [42000]:语法错误或访问冲突:1055'traventure.agents.id'不在GROUP BY中(SQL:选择avg(comments.rating)作为评级,agents
。来自packages
的{{1}}内部加入packages
的{{1}}。。agents
= packages
。agent_id
内部加入agents
上的id
。comments
= packages
。package_id
分组comments
。package_id
按comments
排序。 package_id
desc limit 8 offset 0)
我希望有人帮我解决问题。感谢。