Введение
В Laravel модели играют решающую роль во взаимодействии с базами данных. Они представляют данные и предоставляют удобный способ запроса и манипулирования ими. В этой статье мы рассмотрим различные методы создания моделей в Laravel с использованием Eloquent ORM (объектно-реляционное сопоставление). Давайте погрузимся!
- Создание базовой модели
Чтобы создать модель в Laravel, вы можете использовать команду make:modelArtisan. Откройте интерфейс командной строки и выполните следующую команду:
php artisan make:model Product
Эта команда создаст новый файл модели Productв каталоге app. Вы можете настроить название модели по своему усмотрению.
- Определение имени таблицы
По умолчанию Laravel предполагает, что имя таблицы модели представляет собой форму множественного числа имени модели. Однако если ваша таблица имеет другое имя, вы можете явно указать его в модели, добавив свойство protected $table. Например:
protected $table = 'my_products';
- Определение заполняемых атрибутов
Чтобы разрешить массовое назначение атрибутов, необходимо указать, какие атрибуты являются заполняемыми. Добавьте свойство protected $fillableв свою модель и предоставьте массив атрибутов, которые можно заполнить. Например:
protected $fillable = ['name', 'price', 'description'];
- Определение защищенных атрибутов
В качестве альтернативы вы можете использовать свойство protected $guarded, чтобы указать атрибуты, которые не подлежат массовому назначению. Если вы определите свойство guarded, свойство fillableбудет игнорироваться. Например:
protected $guarded = ['id', 'created_at', 'updated_at'];
- Создание моделей отношений
Laravel предоставляет различные методы для определения отношений между моделями, например отношения «один-к-одному», «один-ко-многим» и «многие-ко-многим». Вот пример связи «один ко многим» между моделями Userи моделью Post:
public function posts()
{
return $this->hasMany(Post::class);
}
- Запрос к базе данных
Используя Eloquent, вы можете легко выполнять сложные запросы к базе данных. Вот несколько примеров методов запроса, доступных в моделях Laravel:
- Получение всех записей:
$products = Product::all();
- Поиск записи по первичному ключу:
$product = Product::find(1);
- Фильтрация записей по определенным условиям:
$cheapProducts = Product::where('price', '<', 50)->get();
- Обновление и удаление записей
Eloquent предоставляет методы для легкого обновления и удаления записей. Вот несколько примеров:
- Обновление атрибутов записи:
$product = Product::find(1);
$product->name = 'New Name';
$product->save();
- Удаление записи:
$product = Product::find(1);
$product->delete();
Заключение
В этой статье мы рассмотрели различные методы создания моделей в Laravel с использованием Eloquent. Мы узнали, как определять имена таблиц, заполняемые и защищенные атрибуты, а также как устанавливать связи между моделями. Кроме того, мы рассмотрели запросы, обновление и удаление записей с помощью Eloquent ORM. Обладая этими знаниями, вы сможете эффективно работать с моделями в Laravel и создавать надежные приложения на основе баз данных.
Надеюсь, эта статья оказалась для вас полезной! Приятного программирования с Laravel!