Laravel Eloquent: основы работы с ORM

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

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

В этой серии статей вы узнаете, как делать запросы к БД и как работать с отношениями в Laravel Eloquent.

Примечание: Все мануалы данной серии можно найти по тегу Laravel Eloquent.

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

Если вы хотите познакомиться с фреймворком Laravel, вы можете ознакомиться с руководством Запуск приложения Laravel через Docker Compose. Там объясняется, как с нуля создать такое демо-приложение, которое в этой серии статей используется для выполнения примеров.

Требования

Используемый в этой серии код должен без проблем работать в нескольких различных средах и системах. Тем не менее, приведенные здесь инструкции были протестированы только в локальной системе Ubuntu 20.04 с установками Docker и Docker Compose. Независимо от вашей базовой операционной системы, для начала вам потребуется сделать следующее:

  • Установить Docker на локальном компьютере или удаленном сервере разработки. Если вы используете Ubuntu 20.04, вы можете обратиться за инструкциями к мануалу Установка и использование Docker в Ubuntu 20.04 (разделы 1 и 2). Пользователям Windows и MacOS необходимо установить Docker Desktop вместо Docker.
  • Установить Docker Compose на локальном компьютере или сервере разработки. Docker Compose по умолчанию входит в состав Docker Desktop как для систем Windows, так и для MacOS. А пользователям Linux необходимо установить исполняемый файл Compose, следуя разделу 1 вышеупомянутого мануала Установка и использование Docker в Ubuntu 20.04.
  • Редактор кода для PHP (опционально). Редактор кода упрощает чтение и форматирование кода, а также может повысить продуктивность разработки, указав на проблемы перед выполнением кода. Вы можете следовать этому руководству по настройке VSCode для проектов PHP.

Установка демо-проекта

Для начала нам нужно настроить демо-проект Landing Laravel. Есть два способа подготовить код приложения к работе:

  • Первый способ – следовать руководству Запуск приложения Laravel через Docker Compose и связанным с ним руководствам. В них объясняется, как с нуля создать приложение, которое вы будете использовать в качестве основы для примеров текущей серии.
  • Второй вариант – загрузить полный код приложения из репозитория.

Чтобы загрузить код с GitHub, сначала убедитесь, что в вашей системе есть инструменты curl и unzip. Для этого введите команды:

sudo apt update
sudo apt install curl unzip

Затем перейдите в домашний каталог при помощи команды cd ~ и загрузите релиз проекта 0.1.1 через curl:

cd ~
curl -L https://github.com/do-community/landing-laravel/archive/refs/tags/0.1.1.zip -o landing-laravel.zip

Демо-код будет сохранен в файле landing-laravel.zip. Разархивируйте содержимое zip-файла, переименуйте каталог в landing-laravel и перейдите в папку приложения, используя следующие команды:

unzip landing-laravel.zip
mv landing-laravel-0.1.1 landing-laravel
cd landing-laravel

Образ MySQL, который вы будете использовать с Docker Compose, использует переменные среды для настройки пользователя и пароля базы данных. Потому перед первым запуском среды вам необходимо настроить файл .env, содержащий учетные данные базы данных. Демо-приложение включает пример этого файла .env.example, который вы можете использовать. Скопируйте его в правильное место, выполнив следующую команду:

cp .env.example .env

Теперь вы можете запустить свою среду с помощью docker-compose:

docker-compose up -d

Установите зависимости приложения Laravel с помощью команды:

docker-compose exec app composer install

Она установит через Composer зависимости PHP, необходимые Laravel. Затем создайте уникальный ключ приложения с помощью artisan:

docker-compose exec app php artisan key:generate

Если мастер успешно добавил уникальный ключ приложения в ваш файл .env, вы должны получить следующий вывод:

Application key set successfully.

А теперь запустите миграции базы данных и сидеры, чтобы настроить БД:

docker-compose exec app php artisan migrate --seed

Если вы видите такой результат, значит, таблицы базы данных и начальные данные настроены правильно:

Migration table created successfully.
. . .
Database seeding completed successfully.

Наше тестовое приложение успешно настроено и запущено в вашей среде разработки. Откройте в браузере адрес http://localhost:8000 и вы получите посадочную страницу приложения.

Имея эту базу для дальнейшей работы, вы можете приступить к выполнению остальных руководств этой серии

Tags: , , ,

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