J'essaie d'obtenir tous les enregistrements qui appartiennent au mois dernier, jusqu'à présent, j'ai réussi à obtenir tous les enregistrements du mois dernier, mais à ce jour, je ne sais pas comment je peux les obtenir uniquement pour le mois dernier
$revenueMonth = Callback::where('created_at', '>=', Carbon::today()->startOfMonth()->subMonth())->sum('payment');
Solution plus claire pour votre problème:
$revenueMonth = Callback::whereMonth(
'created_at', '=', Carbon::now()->subMonth()->month
);
Essayez ces solutions:
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->subDays(30)->toDateTimeString()
);
Vous obtenez tous les rappels des 30 derniers jours.
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->firstOfMonth()->toDateTimeString()
);
Obtenez pour le mois en cours.
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->startOfMonth()->subMonth()->toDateString()
);
Obtenez pour commencer le mois dernier.
MIS À JOUR
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->subMonth()->toDateTimeString()
);
C'est ce que tu cherches :)
J'espère que cela vous aidera :)
Aucune des réponses ne m'amène là où je cherche à aller :(.
J'ai une solution mais je pense qu'elle est moche et j'espère qu'elle pourrait être rendue plus propre
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
$revenueLastMonth = Callback::whereBetween(DB::raw('date(created_at)'), [$fromDate, $tillDate])->get();
Cela me donnera le résultat que je recherche, voici mes records:
2017-09-07 09:46:43
2017-09-07 09:46:43
2017-09-07 09:46:43
2017-09-02 09:46:43
2017-08-07 09:46:43
Et je veux qu'il retourne UNIQUEMENT les enregistrements réalisés en août 2017 (2017-08-07 09:46:43)
MISE À JOUR version éloquente de votre réponse
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
$revenueLastMonth = Callback::whereBetween('created_at',[$fromDate,$tillDate])->get();