Создание модели базы данных Laravel в Eloquent

Laravel – это открытый PHP-фреймворк, в котором вы найдете набор инструментов и ресурсов для создания современных PHP-приложений. Эта серия руководств поможет вам создать простое приложение на платформе Laravel, используя среду разработки PHP, контейнеризованную при помощи Docker Compose. В итоге вы получите одностраничный веб-сайт, которым можно управлять с помощью команд Artisan. На этом сайте вы сможете делиться с аудиторией актуальными ссылками.

Примечание: Другие части этой серии можно найти по этой ссылке.

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

Eloquent использует модели баз данных для представления таблиц и отношений в поддерживаемых БД. Имя таблицы обычно выводится из имени модели (во множественном числе). Например, модель по имени Link будет по умолчанию использовать таблицу links.

Вы можете использовать вспомогательную команду artisan make:model для создания новых моделей для вашего приложения. Чтобы создать новую модель Eloquent для таблицы links, выполните команду:

docker-compose exec app php artisan make:model Link

Вы получите такой вывод:

Model created successfully.

Команда создаст новый файл, содержащий скелет класса модели. Несмотря на то, что этот класс не имеет явных свойств или методов, при работе с моделью через фасады у вас есть доступ к базовым классам БД Eloquent, которые различают структуры таблиц и могут представить их как полнофункциональные объекты.

Для справки, автоматически сгенерированный класс модели находится в app/Models/Link.php и имеет такой вид:

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Link extends Model
{
use HasFactory;
}

Для достижения цели нашего мануала в этот файл не нужно вносить никаких изменений. Если вы хотите расширить приложение в будущем, вы можете использовать эту модель для создания пользовательских методов класса Link, которые будут включать операции с базой данных. Кроме того, если вы хотите создать отношения между моделью Link и другими моделями, вам необходимо включить метод, представляющий такую взаимосвязь по крайней мере с одной из сторон. Для получения подробной информации об отношениях Eloquent, пожалуйста, обратитесь к официальной документации.

В следующей части мы создадим команды Artisan, которые будут использовать эту модель для извлечения, вставки и удаления ссылок в базе данных.

Tags: , , , ,

Добавить комментарий