Ich verwende WhereBetween(), um die Ergebnisse pro Woche zu erhalten. Ich lege sie in ein Array, um dieses Array in meiner Ansicht zu durchlaufen und zeige die Datensätze p. Woche.Laravel5.2 erhalten Einträge pro Woche mit WhereBetween & Carbon
Aus irgendeinem Grund scheint die whereBetween() -Abfrage etwas fehlerhaft zu sein.
mein Controller-Code:
$dtStart = Carbon::create(2016, 07, 05, 0);
$weeks_passed = $dtStart->diffinWeeks(Carbon::now());
$payouts = [];
DB::enableQueryLog();
for ($i = 0; $i <= $weeks_passed; $i++) {
if ($i == 0) {
$payouts = Transaction::where('payed_out', 1)->where('user_id', Auth::user()->id)->whereBetween('updated_at', [$dtStart, $dtStart->addDays(7)])->get();
dd(DB::getQueryLog());
}
else
{
$payouts = Transaction::where('payed_out', 1)->whereIn('user_id', [Auth::user()->id])->whereBetween('updated_at', [$dtStart->addDays($i * 7), $dtStart->addDays(($i + 1) * 7)])->get();
}
die erste Abfrage Debuggen zeigt beispielsweise die letzten beiden Bindungen für den Datensatz (die beide zwischen denen Parameter) sind beide gleich (2016.07.12 00: 00: 00,000000). Irgendeine Idee, wo etwas schief geht?
Ich mache eine wilde Vermutung hier, aber ich denke, Sie sollten neue Instanz für jedes Datum machen. – TheFallen