Laravel: Как добавить составной ключ (2 или более столбца) в качестве $primaryKey в связанной модели?

Имя столбца первичного ключа в любой модели в рамках Laravel id

protected $primaryKey = 'id';

И я знаю, что могу изменить это имя по умолчанию следующим образом:

protected $primaryKey = 'new_name';

Мой вопрос: что, если у меня есть составной ключ (2 или более столбца) в таблице, как добавить их как $primaryKey? И действительно ли я должен их определять?

Ответ 1

Из Документы Laravel:

$table->primary(array('first', 'last'));

Изменить: я неправильно понял вопрос. Этот поток может дать некоторые ответы: http://forumsarchive.laravel.io/viewtopic.php?pid=34475

В частности, переопределение метода find().

public static function find($primaryOne, $PrimaryTwo) {
    return Widget::where('primaryOne', '=', $primaryOne)
        ->where('PrimaryTwo', '=', $PrimaryTwo)
        ->first();
}