Wie kann ich für separate Datums- und Uhrzeitspalten überprüfen, ob ein Datum in der Zukunft liegt?
P粉021854777
P粉021854777 2023-07-31 19:18:47
0
1
507
<p>Ich habe zwei Spalten zum Speichern von Datumsangaben: eine ist das Datum selbst im Format JJJJ-MM-TT und die andere ist die Zeit im Datentyp time(7), z. B. 11:15:10.0000000. <br /><br />Wie überprüfe ich zukünftige Zeilen? <br /><br />Ich kann den ersten Teil, das Datum selbst, abrufen: </p><p><br /></p> <pre class="brush:php;toolbar:false;">MyModel::where('date', '>=', Carbon::today())->get()</pre> <p>Aber wenn ich versuche, die Zeit hinzuzufügen, funktioniert es nicht: </p> <pre class="brush:php;toolbar:false;">MyModel::where('date', '>=', Carbon::today())->where('time', '> ;', Carbon::now()->format('H:i'))->get()</pre> <p>Da sie getrennt sind, ist die Uhrzeit auch dann getrennt, wenn das Datum in der Zukunft liegt, sodass möglicherweise eine Zeitinkongruenz vorliegt. Ich muss also das Datum und die damit verbundene Uhrzeit irgendwie zusammenführen und nicht separat. </p>
P粉021854777
P粉021854777

Antworte allen(1)
P粉651109397

尝试将两个列合并为一个条件。

$now = Carbon::now();

MyModel::whereRaw("CONCAT(`date`, ' ', `time`) >= ?", [$now->toDateTimeString()])->get();

对于 SQL Server,请尝试以下操作。

MyModel::whereRaw("CONVERT(datetime, date + ' ' + CONVERT(varchar, time, 121)) >= ?", [$now->toDateTimeString()])->get();

查询转换可能需要更新,请查阅文档以获取更多信息。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!