Wie kann ich zusammengesetzte Schlüssel in Modelle in Laravel 5 einfügen?
In Laravel 5 kann man einen kompositen Schlüssel in Models definieren, indem man eine geschützte $primaryKey-Eigenschaft im Model definiert und diese auf ein Array der Spaltennamen setzt, die den primären Schlüssel bilden. Beispiel:
<?php
class ExampleModel extends Model
{
protected $primaryKey = ['column_name_1', 'column_name_2'];
}
Man muss auch sicherstellen, dass die verwendeten Spalten als Primärschlüssel in der Migration über einen eindeutigen Index verfügen.
<?php
$table->unique(['column_name_1', 'column_name_2']);
Zusätzlich müssen Sie möglicherweise einige der Standardmethoden von Eloquent überschreiben, wie z.B. getKeyName() oder getKeyType(), um sicherzustellen, dass Eloquent in der Lage ist, korrekt mit komplexen Schlüsseln zu arbeiten.