Ich habe benutzerdefinierte Modell-Versionierung in Laravel Framework implementiert. Es gibt ein paar Spalten, die es in der Datenbanktabelle behandeln: sibling_id
(verbindet die verschiedenen Versionen des Modells), version
, accepted
und validFrom
.Laravel nur Modelle mit aktueller Version
Zum Beispiel:
| id | sibling_id | version | accepted | validFrom | ... |
|----|------------|---------|----------|------------|-----|
| 1 | 1 | 1 | 1 | 2017-12-01 | |
| 2 | 1 | 2 | 1 | 2018-06-01 | |
| 3 | 2 | 1 | 1 | 2017-12-10 | |
| 4 | 2 | 2 | 0 | 2017-12-28 | |
| 5 | 3 | 1 | 0 | 2017-12-01 | |
Was ich mit aktuellen Modellen bedeuten:
- Modell die größte Versionsnummer innerhalb der anerkannten und gültigen Modalverben mit
- OR Version 1, wenn ‚isn t andere Versionen
Ich hätte gerne einen Weg, um nur das aktuelle Modell zu bekommen, gruppiert nach sibling_id
(in diesem Beispiel sollte die Kollektion die Modelle 1, 3 und 5 enthalten). Dies sollte genauso funktionieren wie Laravels withTrashed()
-Funktion, so dass ich alle hinzufügen kann, wenn ich möchte (zum Beispiel Versionsgeschichte).
Vielleicht kann dies irgendwie mit den Bereichen getan werden, aber ich fühlte es kompliziert wegen der "Geschwistergruppierung" und einem anderen komplexen Filter, so endete ich hier zu fragen.
Vielen Dank im Voraus.