在 laravel 上分组

groupBy on laravel

$tren = DB::table('suka')
                ->join('buku', 'buku.ISBN', '=', 'suka.ISBN')
                ->join('user', 'user.id_user', '=', 'suka.id_user')
                 ->raw('count(*) as total')
                 ->groupBy('suka.ISBN')
                 ->orderBy('maximum')
                 ->LIMIT(2)
                 ->get();

我想按 ISBN 对一个连接 table 进行分组,然后找到它们的最大数量并从中取 2 个。

这是错误信息

Call to undefined method Illuminate\Database\Query\Expression::groupBy()

结果集中有多个 ISBN 列(因为它存在于多个 table 中)。您应该通过调用指定要在您的组中分组的 table 的 ISBN 列。

此外,尝试调用 selectRaw 而不是 raw:

->selectRaw('count(*) as total')

您可以在 this documentation 中阅读有关原始查询的更多信息。