Laravel计算大多数重复项目

时间:2016-03-04 11:34:10

标签: php mysql laravel

我想知道哪些是模型中列重复次数最多的实例。

我有User型号,我想知道他们最常用的付款类型

我有一个外键支付表格付款,我保存payments_id

$users_payments = scm\User::lists('payment_id');

有了这个,我得到["16","0","15","14","14","0","15","14"],其中这些数字是每种付款方式的id,我想重复三次。

1 个答案:

答案 0 :(得分:0)

好吧,如果您不想使用Eloquent查询,可以稍后使用标准的php数组函数处理数组:

$users_payment = scm\User::lists('payment_id');

array_count_values()计算项目的出现次数

$occurrences = array_count_values($user_payment);

现在使用arsort()

将其从高到低排序
arsort($occurrences);

使用array_slice():获取前3个:

$items = array_slice($occurrences, 0, 3);