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();
}