Maison > base de données > tutoriel mysql > Comment puis-je regrouper les résultats éloquents de Laravel par jours ?

Comment puis-je regrouper les résultats éloquents de Laravel par jours ?

Patricia Arquette
Libérer: 2024-11-03 15:09:03
original
648 Les gens l'ont consulté

How Can I Group Laravel Eloquent Results by Days?

Regroupement des résultats éloquents de Laravel par jours

Lorsque vous travaillez avec une table contenant des enregistrements qui suivent l'activité des utilisateurs, le regroupement par jours peut être utile pour obtenir un aperçu des modèles de trafic. Cependant, la présence d'heures différentes pour chaque enregistrement peut entraver un regroupement précis.

Solution 1 : DB::Raw Query

Pour obtenir un regroupement par jour, utilisez l'option Fonction DATE() dans MySQL. Cette fonction supprime les composants temporels des horodatages, ce qui donne des dates pures.

DB::table('page_views')
    ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
    ->groupBy('date')
    ->get();
Copier après la connexion

Solution 2 : Requête éloquente avec Carbon

Pour rester dans le cadre Laravel Eloquent, exploiter Carbon pour la manipulation des dates. La première clause Where filtre les enregistrements créés au cours du mois dernier. Le regroupement par date et le classement par ordre décroissant assurent une présentation chronologique.

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal