РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
171 of 1392 menu

Атрибут primaryKey

Атрибут primaryKey в классе модели Eloquent позволяет указать, какое поле базы данных должно использоваться в качестве первичного ключа. По умолчанию Laravel предполагает, что каждая модель имеет столбец с именем 'id'. Однако если ваша таблица использует другое имя для первичного ключа, например 'user_id' или 'product_uuid', вы можете переопределить этот атрибут в модели. Это свойство влияет на работу методов find, findOrFail, а также на связывание моделей в отношениях и при генерации URL-адресов через модели.

Синтаксис

<?php class Model extends Model { protected $primaryKey = 'имя_поля'; } ?>

Пример

Стандартное использование атрибута для указания нестандартного названия первичного ключа:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { protected $primaryKey = 'user_id'; } ?>
<?php use AppModelsUser; $user = User::find(5); echo $user->user_id; ?>

Результат выполнения кода:

"5"

Пример

Использование атрибута primaryKey вместе с методами поиска для получения модели по указанному ключу:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Product extends Model { protected $primaryKey = 'product_uuid'; } ?>
<?php use AppModelsProduct; $product = Product::find('abc-123-def'); echo $product->product_uuid; ?>

Результат выполнения кода:

"abc-123-def"

Пример

Если в модели не указан атрибут primaryKey, Laravel по умолчанию использует поле 'id':

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Category extends Model { // Атрибут primaryKey не задан, // по умолчанию используется 'id' } ?>
<?php use AppModelsCategory; $category = Category::find(3); echo $category->id; ?>

Результат выполнения кода:

"3"

Смотрите также

  • атрибут incrementing,
    который управляет автоинкрементом первичного ключа
  • атрибут keyType,
    который задаёт тип данных первичного ключа
  • атрибут table,
    который определяет имя таблицы для модели
  • метод getKey,
    который возвращает значение первичного ключа модели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить