Стандартные свойства модели в Laravel

Когда вы создаете модель в Laravel, вам нужно определить свойства, которые будут соответствовать столбцам таблицы в базе данных. Эти свойства будут использоваться для чтения и записи данных в базу данных.

Для каждого свойства модели вы должны определить его имя, тип данных и другие свойства, такие как:

  • $fillable : определяет, какие поля могут быть заполнены массово, когда данные отправляются из формы в контроллер. Если вы не укажете $fillable , то все поля модели будут защищены от массового заполнения. Например, если у вас есть модель User и вы хотите разрешить массовое заполнение только для полей name , email и password , то вы можете определить $fillable следующим образом:
protected $fillable = ['name', 'email', 'password'];
  • $guarded : определяет, какие поля должны быть защищены от массового заполнения. Если вы укажете $guarded , то все поля, которые не указаны в этом массиве, будут разрешены для массового заполнения. Например, если у вас есть модель User и вы хотите защитить поле password от массового заполнения, то вы можете определить $guarded следующим образом:
protected $guarded = ['password'];
  • $hidden : определяет, какие поля модели должны быть скрыты при преобразовании модели в массив или JSON. Например, если у вас есть модель User и вы хотите скрыть поле password при выводе в массив или JSON, то вы можете определить $hidden следующим образом:
protected $hidden = ['password'];
  • $casts : определяет, какие поля модели должны быть преобразованы в определенный тип данных. Например, если у вас есть модель User и вы хотите преобразовать поле is_admin в тип данных boolean , то вы можете определить $casts следующим образом:
protected $casts = ['is_admin' => 'boolean'];

В Laravel модель имеет множество свойств, которые определяют ее поведение, связи с другими моделями, а также другие аспекты работы с данными. Некоторые из наиболее распространенных свойств модели в Laravel:

  • $table : определяет имя таблицы, которая соответствует этой модели. По умолчанию Laravel использует имя, которое соответствует имени класса модели во множественном числе, но вы можете изменить это имя с помощью свойства $table . Например, если у вас есть модель User , которая соответствует таблице users , вы можете определить $table следующим образом:
protected $table = 'my_users';
  • $primaryKey : определяет имя столбца первичного ключа, который соответствует этой модели. По умолчанию Laravel использует столбец id в качестве первичного ключа, но вы можете изменить его с помощью свойства $primaryKey . Например, если у вас есть модель User , и первичный ключ для таблицы users называется user_id , то вы можете определить $primaryKey следующим образом:
protected $primaryKey = 'user_id';
  • $timestamps : определяет, используются ли автоматические метки времени для модели. Если вы хотите, чтобы Laravel автоматически заполнял поля created_at и updated_at , вы можете установить $timestamps в значение true . Например:
public $timestamps = true;
  • $incrementing : определяет, должен ли первичный ключ модели быть автоинкрементируемым целым числом. По умолчанию Laravel предполагает, что первичный ключ будет автоинкрементируемым целым числом, но вы можете изменить это с помощью свойства $incrementing . Если вы хотите, чтобы первичный ключ был строкой или другим типом данных, вы можете установить $incrementing в false . Например:
public $incrementing = false;
  • $connection : определяет имя соединения базы данных, которое должно использоваться для этой модели. Если у вас есть несколько соединений базы данных в вашем приложении, вы можете выбрать соединение, которое должно использоваться для этой модели, с помощью свойства $connection . Например, если у вас есть модель User , и вы хотите использовать соединение users_db , то вы можете определить $connection следующим образом:
protected $connection = 'users_db';

Помимо перечисленных, существуют и другие свойства.

Статьи по теме Как создать модель Laravel

Комментарии (0)

  1. Напишите первый комментарий
*Комментарий будет опубликован после проверки модератором

Похожие статьи

Загрузка изображения в Laravel

Русификация Laravel

Добавить поле к существующей таблице Laravel

Как поменять язык в Faker

Транслитерация URL в Laravel. Примеры str_slug()

Разработка бота Telegram с помощью Botman на локальном компьютере

Валидация данных в Laravel form request

Laravel Excel - Базовый экспорт

Добавить в botman editMessageText для Telegram

Как сделать middleware в Laravel 6 - простой пример

Создать ссылку на storage из внешнего каталога для Laravel

Установить Laravel в отдельную папку (site.ru/laravel/)

Как русифицировать или поменять шаблон уведомления о сбросе пароля в Laravel

Laravel: Отношения моделей многие ко многим - belongsToMany

Валидация номера кредитной карты на PHP (Laravel)

Laravel: Отношения моделей один ко многим - hasMany, belongsTo

Связать папку storage с папкой public в Laravel

Откуда в Laravel Jetstream (inertia) prop auth.user?

Экспорт маршрутов из Laravel в JSON файл

Создание form request в Laravel: руководство для начинающих

Постраничная навигация на Bootstrap в Laravel 8

Обработка ошибок в Laravel form request

Blade - расширить @section с использованием директивы @parent

Добавить данные об авторизации при каждом запросе к API в Laravel

Работа с файлами в Laravel Form Request

Работа с вложенными объектами и коллекциями в Laravel form request

Стандартные свойства модели в Laravel

Laravel: Отношение через таблицу-посредника - hasOneThrough()

Laravel: Отношения моделей один к одному - hasOne, belongsTo

Авторизацией и аутентификация в Laravel form request

Настройка команды CRON на хостинге nic.ru для активации Laravel schedule

Laravel form request для создания API-запросов

Laravel: Отношение через таблицу-посредника - hasManyThrough()

HTTP-запросы в Laravel form request - работа с различными типами запросов

Создание класса модели в Laravel

Создание уникального индекса в миграции Laravel

Установка Laravel и создание нового проекта

Как создать модель в Laravel

Создание таблицы в базе данных (миграции) для модели в Laravel

Базовые методы CRUD контроллера для модели в Laravel

Наш сайт использует куки, нажмите «ОК» если вы не против
OK