2017-01-06 24 views
0

Ich versuche, Werte zwischen zwei Daten zu erhalten. Ich habe einige Daten zwischen den Daten, aber es ist leer.Laravel Eloquent, wo zwischen zwei Daten null sind

$oneMonthAgo = date('Y-m-01 00:00:00', strtotime('-1 month')); 
$thisMonth = date('Y-m-01 00:00:00', strtotime('0 month')); 
$nextMonth = date('Y-m-01 00:00:00', strtotime('+1 month')); 


$cezalar = DB::table('cezalar') 
    ->where('ceza_tarih', '>=', $oneMonthAgo) 
    ->where('ceza_tarih', '<', $thisMonth) 
    ->get(); 

return $cezalar; 
+0

Haben Sie sich das Abfrageprotokoll angesehen, um zu sehen, wie SQL generiert wird? –

+0

Nein, wo sehe ich hin? – yigitozmen

+0

Sie könnten versuchen, die Laravel-Debug-Leiste zu installieren, durch die brillante barryvhd: https://github.com/barryvdh/laravel-debugbar –

Antwort

0

erste Notiz: Sie „Query Builder“ nicht eloquent,

verwenden und wenn Sie vor Datum einen Monat erhalten möchten, sollten Sie etwas wie folgt verwenden: $oneMonthAgo = date('Y-m-d 00:00:00', strtotime('-1 month')); Ich habe es in meinem geprüft eigene App, und es funktioniert ...

1

Sie so etwas wie dies versuchen kann:

$thisMonth = \Carbon\Carbon::now()->startOfMonth(); 

$oneMonthAgo = \Carbon\Carbon::now()->subMonth()->startOfMonth(); 

$dateRange = [$oneMonthAgo, $thisMonth]; 

$cezalar = DB::table('cezalar')->whereBetween('ceza_tarih', $dateRange)->get(); 

prüfen Carbon, die im Lieferumfang enthalten ist, in Laravel.

Verwandte Themen