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.