2016-08-07 21 views
2

Ich versuche, eine bestimmte Abfrage zu schreiben, aber ich bin es versagt, und ich bin für etwas HilfeLaravel - Advanced Carbon-Datum Abfrage

Hier suchen ist, was ich

SELECT tun wollen Alle Artikel WHERE created_at aus der Zeit vor diesem Monat (Juli, Juni, ...), und auch die ersten drei auszuwählen, die in diesem Monat

erstellt werden

das habe ich derzeit. Ich habe mehrmals versucht, aber ich kann nicht das Recht heraus „WHERE“ Fall

$offertes = DB::table('offertes') 
     ->select('*') 
     ->where('receiver_id', $user_id) 
... 
     ->orderby('seen') 
     ->orderby('created_at','desc') 
     ->get(); 

Antwort

0

So etwas wie dies funktionieren sollte:

$time = new Carbon\Carbon('first day of this month'); // Get first day of the month. 
$time->setTime(0, 0, 0); // Set time to 00:00:00. 
.... 
->where('created_at', '<', $time) 
->where(function($q) { 
    $q->where('created_at', '>', $time) 
     ->orderby('created_at','asc') 
     ->take(3) 
}) 
->get; 
+0

Wo Sie die ersten 3 des aktuellen Monats nehmen Sie dann? Ich habe das OP überarbeitet, um es etwas klarer zu machen – Nicolas