Ich habe ein Round-Modell für ein Laravel-PHP-Spiel. Jede Runde hat eine Startzeit (DATETIME) und eine Dauer in Minuten (INT):
id | game_id | duration | start_time 1 | 3 | 40 | 2022-06-22 19:29:26 2 | 3 | 20 | 2022-06-24 00:02:55 3 | 1 | 10 | 2022-06-25 10:56:05
Ein Spiel hat mehrere Runden, wenn start_time +uration > Carbon::now()
dann endet eine Runde
Jetzt kann ich anscheinend nicht herausfinden, wie ich alle Runden eines noch laufenden Spiels abrufen kann
Ich habe mir etwas Ähnliches überlegt, aber anscheinend funktioniert das nicht, weil ich die Spalte „Dauer“ nicht in die SubMinutes-Funktion einfügen kann
return $game->whereHas('rounds', function ($query) { $query->where('start_time', '>', Carbon::now()->subMinutes(duration)); })->first();
您正在 SQL 中查找此内容:
或相同的,在 Eloquent 中: