Вот несколько распространенных методов и примеров кода, связанных с работой с первичными ключами в Laravel:
-
Получение последнего вставленного первичного ключа:
$id = DB::table('users')->insertGetId([ 'name' => 'John Doe', 'email' => 'johndoe@example.com', ]);В этом примере метод
insertGetIdиспользуется для вставки новой записи в таблицу «пользователи» и получения последнего вставленного первичного ключа. -
Получение значения первичного ключа экземпляра модели:
$user = User::find(1); $id = $user->id;Здесь мы извлекаем запись пользователя с идентификатором 1 с помощью метода
findи получаем доступ к значению ее первичного ключа через свойствоid. -
Указание пользовательского первичного ключа в модели:
class User extends Model { protected $primaryKey = 'user_id'; // ... }В этом случае первичный ключ таблицы «пользователи» установлен на «user_id» вместо «id» по умолчанию. Вы можете определить это в своей модели, переопределив свойство
$primaryKey. -
Определение неинкрементируемого первичного ключа:
class User extends Model { public $incrementing = false; // ... }По умолчанию Laravel предполагает, что первичный ключ представляет собой автоматически увеличивающееся целое число. Вы можете установить для свойства
$incrementingзначениеfalseв вашей модели, если у вас есть неинкрементирующий первичный ключ, например UUID. -
Использование составного первичного ключа:
class User extends Model { protected $primaryKey = ['account_id', 'user_id']; // ... }В некоторых случаях у вас может быть составной первичный ключ, состоящий из нескольких столбцов. Вы можете указать составной первичный ключ в своей модели, указав массив имен столбцов в свойстве
$primaryKey.