如何使用 laravel eloquent 获取 mysql table 列中出现次数最多的前 10 个值?

How can I grab the top 10 most occurring values in mysql table column using laravel eloquent?

我想使用 laravel 4.2 在 mysql table 列中获取前 10 个最常出现的值。

例如,前 10 个出现的产品及其数量,如以下原始 MySQL 查询所示:

SELECT `product_id`, COUNT(*)
FROM `product_details`
GROUP BY `product_id`
ORDER BY COUNT(*) DESC
LIMIT 10;

试试这个语法:

DB::table('product_details')
        ->select('product_id', DB::raw('COUNT(*) AS cnt'))
        ->groupBy('product_id')
        ->orderByRaw('COUNT(*) DESC')
        ->take(10)
        ->get();