From c04ec89c3ed016e39f2ba4006f94fe1fd6dc532b Mon Sep 17 00:00:00 2001 From: shibafu Date: Thu, 4 Jan 2018 14:50:14 +0900 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E5=88=A5=E3=83=81=E3=82=A7=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=82=A4=E3=83=B3=E5=9B=9E=E6=95=B0=E3=82=B0=E3=83=A9?= =?UTF-8?q?=E3=83=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/UserController.php | 23 ++++++++++++- resources/views/user/stats.blade.php | 45 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index fb017ea..bde07ba 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -63,7 +63,28 @@ SQL $calendarData[$timestamp] = $data->count; } - return view('user.stats')->with(compact('user', 'calendarData')); + $groupByMonth = Ejaculation::select(DB::raw(<<<'SQL' +to_char(ejaculated_date, 'YYYY/MM') AS "date", +count(*) AS "count" +SQL + )) + ->where('user_id', $user->id) + ->where('ejaculated_date', '>=', Carbon::now()->addMonths(-11)->firstOfMonth()) + ->groupBy(DB::raw("to_char(ejaculated_date, 'YYYY/MM')")) + ->orderBy(DB::raw("to_char(ejaculated_date, 'YYYY/MM')")) + ->get(); + $monthlyCounts = []; + $month = (new Carbon())->subMonth(11); + while ($month->format('Y/m') <= date('Y/m')) { + if ($groupByMonth->first()['date'] === $month->format('Y/m')) { + $monthlyCounts[] = $groupByMonth->shift()['count']; + } else { + $monthlyCounts[] = 0; + } + $month = $month->addMonth(1); + } + + return view('user.stats')->with(compact('user', 'calendarData', 'monthlyCounts')); } public function okazu($name) diff --git a/resources/views/user/stats.blade.php b/resources/views/user/stats.blade.php index 6eb6642..dad9a5c 100644 --- a/resources/views/user/stats.blade.php +++ b/resources/views/user/stats.blade.php @@ -13,10 +13,14 @@
Shikontribution graph

+
月別チェックイン回数
+ @endif @endsection @push('script') + + @endpush \ No newline at end of file