Laravel Eloquent 결과를 일별로 그룹화
사용자 활동을 추적하는 레코드가 포함된 테이블로 작업할 때 일별로 그룹화하면 결과를 얻는 데 유용할 수 있습니다. 트래픽 패턴에 대한 통찰력. 그러나 각 레코드에 서로 다른 시간이 있으면 정확한 그룹화를 방해할 수 있습니다.
해결책 1: DB::Raw Query
일별 그룹화를 수행하려면 다음을 활용하세요. MySQL의 DATE() 함수. 이 함수는 타임스탬프에서 시간 구성 요소를 제거하여 순수한 날짜를 생성합니다.
DB::table('page_views') ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views')) ->groupBy('date') ->get();
해결책 2: Carbon을 사용한 Eloquent 쿼리
Laravel Eloquent 프레임워크 내에 유지하려면, 날짜 조작을 위해 Carbon을 활용합니다. 첫 번째 where 절은 지난 달에 생성된 레코드를 필터링합니다. 날짜별로 그룹화하고 내림차순으로 정렬하면 연대순으로 표시됩니다.
<code class="php">$visitorTraffic = PageView::where('created_at', '>=', \Carbon\Carbon::now()->subMonth()) ->groupBy('date') ->orderBy('date', 'DESC') ->get(array( DB::raw('Date(created_at) as date'), DB::raw('COUNT(*) as "views"') ));</code>
위 내용은 Laravel Eloquent 결과를 일 단위로 어떻게 그룹화할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!