Полное руководство по созданию моделей в Laravel

Введение

В Laravel модели играют решающую роль во взаимодействии с базами данных. Они представляют данные и предоставляют удобный способ запроса и манипулирования ими. В этой статье мы рассмотрим различные методы создания моделей в Laravel с использованием Eloquent ORM (объектно-реляционное сопоставление). Давайте погрузимся!

  1. Создание базовой модели

Чтобы создать модель в Laravel, вы можете использовать команду make:modelArtisan. Откройте интерфейс командной строки и выполните следующую команду:

php artisan make:model Product

Эта команда создаст новый файл модели Productв каталоге app. Вы можете настроить название модели по своему усмотрению.

  1. Определение имени таблицы

По умолчанию Laravel предполагает, что имя таблицы модели представляет собой форму множественного числа имени модели. Однако если ваша таблица имеет другое имя, вы можете явно указать его в модели, добавив свойство protected $table. Например:

protected $table = 'my_products';
  1. Определение заполняемых атрибутов

Чтобы разрешить массовое назначение атрибутов, необходимо указать, какие атрибуты являются заполняемыми. Добавьте свойство protected $fillableв свою модель и предоставьте массив атрибутов, которые можно заполнить. Например:

protected $fillable = ['name', 'price', 'description'];
  1. Определение защищенных атрибутов

В качестве альтернативы вы можете использовать свойство protected $guarded, чтобы указать атрибуты, которые не подлежат массовому назначению. Если вы определите свойство guarded, свойство fillableбудет игнорироваться. Например:

protected $guarded = ['id', 'created_at', 'updated_at'];
  1. Создание моделей отношений

Laravel предоставляет различные методы для определения отношений между моделями, например отношения «один-к-одному», «один-ко-многим» и «многие-ко-многим». Вот пример связи «один ко многим» между моделями Userи моделью Post:

public function posts()
{
    return $this->hasMany(Post::class);
}
  1. Запрос к базе данных

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

  • Получение всех записей:
$products = Product::all();
  • Поиск записи по первичному ключу:
$product = Product::find(1);
  • Фильтрация записей по определенным условиям:
$cheapProducts = Product::where('price', '<', 50)->get();
  1. Обновление и удаление записей

Eloquent предоставляет методы для легкого обновления и удаления записей. Вот несколько примеров:

  • Обновление атрибутов записи:
$product = Product::find(1);
$product->name = 'New Name';
$product->save();
  • Удаление записи:
$product = Product::find(1);
$product->delete();

Заключение

В этой статье мы рассмотрели различные методы создания моделей в Laravel с использованием Eloquent. Мы узнали, как определять имена таблиц, заполняемые и защищенные атрибуты, а также как устанавливать связи между моделями. Кроме того, мы рассмотрели запросы, обновление и удаление записей с помощью Eloquent ORM. Обладая этими знаниями, вы сможете эффективно работать с моделями в Laravel и создавать надежные приложения на основе баз данных.

Надеюсь, эта статья оказалась для вас полезной! Приятного программирования с Laravel!