以平均评级显示数据

时间:2018-01-03 11:49:11

标签: php mysql laravel join

我正在尝试以平均评分显示数据库中的数据。这是我的代码: -

$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 = packagesagent_id内部加入agents上的idcomments = packagespackage_id分组commentspackage_idcomments排序。 package_id desc limit 8 offset 0)

我希望有人帮我解决问题。感谢。

0 个答案:

没有答案