laravel 시간 날짜 에 따라 그룹 통계 방법 예 시 를 실현 합 니 다.
//
$user = DB::table('users')->whereBetween('created_at',['2018-01-01','2018-01-07'])
->selectRaw('date(created_at) as date,count(*) as value')
->groupBy('date')->get();
#
{
"date": "2018-01-01", #
"value": 199 #
{
"date": "2018-01-02",
"value": 298
},
{
"date": "2018-01-03",
"value": 1000
}
# ,
#
$stimestamp = strtotime($start_time);
$etimestamp = strtotime($end_time);
#
$days = ($etimestamp - $stimestamp) / 86400;
#
$date = array();
for($i = 0;$i < $days;$i++){
$date[] = date('Y-m-d', $stimestamp + (86400 * $i));
}
#
foreach ($date as $key => $val){
$data[$key] = [
'date' => $val,
'value' => 0
];
foreach ($user as $item => $value){
if($val == $value['date']){
$data[$key] = $value;
}
}
}
return $data;
월 별로 조 를 나누다
#
$user = DB::table('users')->whereBetween('created_at',['2018-01-01','2018-12-31'])
->selectRaw('DATE_FORMAT(created_at,"%Y-%m") as date,COUNT(*) as value')
->groupBy('date')->get();
#
{
"date": "2018-01", #
"value": 1497 #
},
{
"date": "2018-02",
"value": 2354
},
{
"date": "2018-03",
"value": 4560
}
# , ,
$year = date('Y',time());
#
$month = [
0 => $year.'-01',
1 => $year.'-02',
2 => $year.'-03',
3 => $year.'-04',
4 => $year.'-05',
5 => $year.'-06',
6 => $year.'-07',
7 => $year.'-08',
8 => $year.'-09',
9 => $year.'-10',
10 => $year.'-11',
11 => $year.'-12',
];
#
foreach ($month as $key => $val){
$data[$key] = [
'date' => $val,
'value' => 0
];
foreach ($user as $item => $value){
if($val == $value['date']){
$data[$key] = $value;
}
}
}
return $data;
laravel 은 시간 대별 수량 통 계 를 실현 하고 직접 사용 하기에 편리 합 니 다.프로젝트 에 도표 와 같은 정 보 를 사 용 했 기 때문에 많은 시간의 데이터 동 태 를 얻어 야 한다.처음에 나 는 모두 시간 을 환산 해서 계산 했다.나중에 수첩 에 더 간단 한 방법 이 있 는 것 을 보고 통용 되 는 시간 대 통계(오늘,어제,지난주,이번 주,지난달,이 달,작년,올해)를 정리 했다.
use Carbon\Carbon;
public function getNumber()
{
$data = [];
#
$data['customer_today'] = Customer::where('customer_type', 1)->where('created_at', Carbon::today())->count();
#
$data['customer_yesterday'] = Customer::where('customer_type', 1)->where('created_at', Carbon::yesterday())->count();
//
$this_week = [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()];
$data['customer_this_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $this_week)->count();
//
$last_week = [Carbon::now()->startOfWeek()->subWeek(), Carbon::now()->endOfWeek()->subWeek()];
$data['customer_last_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $last_week)->count();
//
$data['customer_this_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->month)->count();
//
$data['customer_last_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->subMonth()->month)->count();
//
$data['customer_this_year'] = Customer::where('customer_type', 1)->whereYear('created_at', Carbon::now()->year)->count();
return $data;
}
총결산이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.