php - 如何在laravel中获取所有月份的记录数

标签 php mysql laravel-5

我已经应用了 group by with with created_at column using DB query 但喜欢用 laravel eloquent 来做

输出应该是这样的:-

Array
(
  [1] => 2
  [2] => 3
  [3] => 7
  [4] => 4
  [5] => 5
  [6] => 7
  [7] => 2
  [8] => 9
  [9] => 0
  [10] => 4
  [11] => 0
  [12] => 0
)

请提供任何帮助我做到这一点。

最佳答案

请尝试以下步骤:-

  1. 运行composer安装包:composer require nesbot/carbon
  2. 在您的代码之上:使用 Carbon\Carbon;

假设我有模型用户,

$users = User::select('id', 'created_at')
->get()
->groupBy(function($date) {
    //return Carbon::parse($date->created_at)->format('Y'); // grouping by years
    return Carbon::parse($date->created_at)->format('m'); // grouping by months
});

$usermcount = [];
$userArr = [];

foreach ($users as $key => $value) {
    $usermcount[(int)$key] = count($value);
}

for($i = 1; $i <= 12; $i++){
    if(!empty($usermcount[$i])){
        $userArr[$i] = $usermcount[$i];    
    }else{
        $userArr[$i] = 0;    
    }
}

希望它能帮助你制作这样的数组。

关于php - 如何在laravel中获取所有月份的记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43093289/

相关文章:

Laravel 5.5 使用自定义消息进行验证

javascript - 如何删除 select php foreach 结果中的重复项

php - sql - 如何在 MySql 中截断多个表?

MySQL : transaction within a stored procedure

php - 如何使用 php 检查 mysql 查询是否返回无结果(未找到记录)?

mysql - 难以设计具有双向可选的数据库 1 :1 relationship

php - 使用fpdf下载pdf后如何重定向

php - 在php中显示链接

PHP 基于任意搜索查询在电子邮件数据库中搜索电子邮件地址和正文内容

mysql - 两台 vps 服务器上的 Laravel 5