Viele Datenbanken verwenden zusammengesetzte Primärschlüssel, bei denen mehrere Spalten die eindeutige Kennung für jede Zeile bilden. Der Standard-Primärschlüssel von Laravel, „id“, reicht in diesen Fällen möglicherweise nicht immer aus.
Um zusammengesetzte Primärschlüssel in Laravel 5-Modellen zu definieren, können Sie ein PHP-Merkmal verwenden, z Folgendes:
trait HasCompositePrimaryKey { ... // ... Additional code from the answer ... ... }
Fügen Sie dieses Merkmal in Ihr Modell ein und legen Sie die Eigenschaft $primaryKey auf ein Array fest, das die Zusammensetzung darstellt Schlüssel:
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; protected $primaryKey = ['key1', 'key2']; ... }
Das Merkmal überschreibt bestimmte Laravel-Methoden, um zusammengesetzte Schlüssel zu verarbeiten:
Obwohl diese Lösung eine Problemumgehung für zusammengesetzte Schlüssel bietet, weist sie einige Einschränkungen auf:
Wenn sich die Trait-Lösung als ungeeignet erweist, sollten Sie die Verwendung benutzerdefinierter Primärschlüssel oder einer anderen Methode zur Verwaltung zusammengesetzter Schlüssel in Betracht ziehen. Weitere Hinweise finden Sie in der Laravel-Dokumentation und in Online-Ressourcen.
Das obige ist der detaillierte Inhalt vonWie implementiert man zusammengesetzte Primärschlüssel in Laravel 5-Modellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!