2017-05-30 1 views
2

Ich versuche, relationale Daten von einem Modell abzurufen, in dem die Datumsspalte höher oder gleich der aktuellen Zeit ist.Laravel eloquent, wo das Datum gleich oder größer ist als DateTime

Die Datumsspalte ist als diese formated: Y-m-d H: i: s

Was ich versuche, alle Zeilen zu tun ist, greifen, wo die Y-m-d H: i: s in die Zukunft.

Beispiel: Nehmen wir an, das Datum ist 2017-06-01 und die Zeit ist 09:00:00 Dann hätte ich gerne alle Zeilen, wo das Datum in der Zukunft ist, und die Zeit ist in der Zukunft.

Derzeit sieht mein Code so aus, und es funktioniert fast, aber es greift nicht nach den Zeilen, in denen das Datum der aktuelle Tag ist.

public function customerCardFollowups() { 
    return $this -> hasMany('App\CustomerCardFollowup', 'user_id') -> whereDate('date', '>', Carbon::now('Europe/Stockholm')) -> orderBy('date', 'asc') -> take(20); 
} 

Was mache ich falsch? Vielen Dank im Voraus.

+3

Verwenden 'where' statt' whereDate' wenn Sie die Zeit in Ihrem Scheck und '> = 'statt'> 'berücksichtigen wollen . – Sandeesh

+0

Ich werde es versuchen. Danke – Kaizokupuffball

+0

Scheint es nur mit "wo" zu beheben. Vielen Dank! – Kaizokupuffball

Antwort

1

Klingt wie Sie brauchen >= zu verwenden, zum Beispiel:

->whereDate('date', '>=', Carbon::now('Europe/Stockholm')) 
+0

Ich habe das auch versucht, aber es scheint nicht bis zum Ende zu gehen. Beispiel, wenn das Datum richtig ist, aber die Zeit, nach der die Uhrzeit in der Datumsspalte liegt, sollte nicht abgerufen werden. Nur Daten, die nicht (einschließlich Zeit) vergangen sind, sollten abgerufen werden. – Kaizokupuffball

Verwandte Themen