товары

Что такое Laravel Eloquent, как им пользоваться, туториал с примерами

PHP-фреймворк Laravel включает Eloquent Object Relational Mapper (ORM), который обеспечивает чрезвычайно простой способ взаимодействия с базой данных. 

Laravel и Eloquent помогают ускорить разработку приложений и платформ, обеспечивая адекватное решение большинства проблем. Требования удовлетворяются за счет более быстрой разработки, а также хорошо организованного, многократно используемого, поддерживаемого и масштабируемого кода. 

Как работает красноречивый

Разработчики могут работать в Eloquent эффективно работать с несколькими базами данных с использованием реализации ActiveMethod. Это архитектурный шаблон, в котором модель, созданная в структуре Модель-Представление-Контроллер (MVC), соответствует таблице в базе данных. Преимущество состоит в том, что модели выполняют общие операции с базой данных без написания длинных SQL-запросов. Шаблоны позволяют запрашивать данные в таблицах и вставлять в таблицы новые записи. Упрощается процесс синхронизации нескольких баз данных, работающих в разных системах. Вам не нужно писать SQL-запросы. Все, что вам нужно сделать, это defiЗавершите работу с таблицами базы данных и связями между ними, а Eloquent выполнит остальную работу.

Подготовка Ларавеля

Необходимо ценить полезность Eloquent ORM и понимать экосистему. Шаги для начала:

  1. Установите Laravel с getcomposer.org, для этого следуйте инструкциям здесь
  2. Создание migration с помощью консоли Artisan
  3. Создание шаблонов eloquent
  4. беги я seed базы данных

Artisan Console — это имя интерфейса командной строки, включенного в Laravel. Предоставляет набор полезных команд для использования при разработке приложения. Он управляется мощным компонентом Symfony Console.

Чтобы просмотреть список всех доступных команд Artisan, вы можете использовать команду list:

php artisan list

Все команды сопровождаются кратким описанием аргументов и опций. Это показано на экране «помощь». Чтобы отобразить экран справки, просто предварите имя команды словом «help», как показано ниже:

php artisan help migrate

Migration

Миграция — это процесс управления базой данных путем написания PHP вместо этого. SQL. Предоставляет способ добавить контроль версий в базу данных. 

Чтобы создать миграцию, просто выполните следующую команду:

php artisan make:migration create_student_records

Это создает файл миграции. В текстовом редакторе откройте только что созданный файл в папке database\migrations:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateStudentRecordsTable extends Migration
{
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
        Schema::create('student__records', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
        Schema::dropIfExists('student__records');
    }
}

Код представляет собой одноименный класс 'create student records', и имеет два метода: вверх и вниз. Метод up должен вносить изменения в базу данных; поэтому всякий раз, когда вы переносите свою базу данных, будет выполняться любой код в методе up. С другой стороны, метод down должен откатить эти изменения базы данных; поэтому всякий раз, когда вы запускаете rollback из migration, метод down должен отменить то, что сделал метод up. Внутри метода up есть построитель схемы, используемый для создания таблиц и управления ими. Что произойдет, если вы отмените некоторые из своих миграций? Все, что вам нужно сделать, это выполнить следующую команду:

php artisan migrate:rollback

И он соберет последний migration который был реализован. Также вы можете полностью восстановить базу данных, выполнив:

php artisan migrate:reset

Это отменит все ваши миграции.

Defiмоделей Eloquent

После завершения миграции базы данных следующим процессом является seedingEloquent вступает в игру с момента seeding вставляет записи в нашу базу данных. Поэтому вам нужно будет создать шаблоны перед заполнением базы данных. Каждая таблица базы данных имеет соответствующую модель, которая используется для взаимодействия с этой таблицей. Шаблоны позволяют запрашивать данные в ваших таблицах, а также вставлять в таблицу новые записи. Самый простой способ создать экземпляр модели — использовать следующую команду:

php artisan make:model Student
Пример шаблона показан ниже Student, который можно использовать для извлечения и хранения информации из таблицы базы данных нашего ученика:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Когда вы создаете модель и в то же время хотите создать миграцию базы данных, вы можете использовать опцию –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

сеялка

Общие сидеры — это специальный набор классов, которые позволяют нам снова и снова заполнять нашу базу данных одними и теми же данными. Реализуем следующую команду:

php artisan make:seeder StudentsRecordSeeder

В текстовом редакторе в папке seed откройте только что созданный файл с именем: StudentsRecordSeeder.php. Как видите, это всего лишь очень простой класс с единственным методом, который называется run().

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

Код представляет собой просто оболочку класса консольных команд, специально созданную для помощи в решении задачи seeding. Отредактируйте код, а затем сохраните его.

Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.
public function run()
{
    echo 'Seeding!';
}

И переходим к терминалу:

php artisan db:seed --class=StudentsRecordSeeder

Теперь вы можете заполнить таблицу некоторыми записями и запустить:

php artisan db:seed --class=class=StudentsRecordSeeder

Здесь вы можете продолжать удалять, добавлять, изменять записи в БД, а затем восстанавливать их с помощью простой команды.

CRUD с Laravel Eloquent

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

Создание записей

Вы можете использовать метод ::create для вставки новой записи в базу данных.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

В дополнение к простому методу создания, показанному выше, вы также можете создать новый объект и присвоить ему другие атрибуты. Затем вы можете вызвать функцию save() и запустить код. Такие методы, как firstOrCreate() о firstOrNew() — другие варианты создания записей. Это позволит вам найти ученика с определенными качествами; если этот студент не найден, вы создадите его в базе данных или создадите новый экземпляр.

Чтение записей

Используя Eloquent ORM, вы можете найти записи в своей базе данных. Запросы просто построены и предлагают плавный поток. Для создания операторов:where, вы будете использовать методы get() И first(). Метод first() вернет только одну запись, а метод get() вернет зацикленный массив записей. Кроме того, метод find() можно использовать с массивом первичных ключей, который вернет набор совпадающих записей. Вот некоторые примеры:

$student = Students::all();

Этот код получают все студенты. В то время как следующий код находит конкретного студента по идентификатору:

$student = Студенты::find(1);

Кроме того, как показано ниже, код описывает поиск учащегося по определенному атрибуту.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

Для метода get() этот код показывает, как найти ученика с уровнем выше 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Запись обновления

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

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

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

Удалить записи

Eloquent может похвастаться простым процессом обновления записей, но та же история и с удалением. Есть два варианта: вытащить записи и выполнить метод удаления или просто использовать метод уничтожения. Чтобы найти и удалить запись, просто выполните следующие команды:

$student = Students::find(1);
$student->delete();

Для удаления записи и нескольких записей выполняются команды:

Students::destroy(1);
Students::destroy(1, 2, 3);

Обратите внимание, что параметры destroy являются только первичными ключами, в отличие от метода удаления, который может принимать любой столбец базы данных.

Чтобы найти и удалить всех учеников выше 10 уровня.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.

АРТИКОЛИ recenti

Издатели и OpenAI подписывают соглашения, регулирующие поток информации, обрабатываемой искусственным интеллектом.

В прошлый понедельник Financial Times объявила о сделке с OpenAI. FT лицензирует свою журналистику мирового уровня…

Апрель 30 2024

Онлайн-платежи: вот как потоковые сервисы заставляют вас платить вечно

Миллионы людей платят за стриминговые сервисы, выплачивая ежемесячную абонентскую плату. Распространено мнение, что вы…

Апрель 29 2024

Veeam предлагает наиболее полную поддержку программ-вымогателей: от защиты до реагирования и восстановления.

Coveware от Veeam продолжит предоставлять услуги по реагированию на инциденты, связанные с кибер-вымогательством. Coveware предложит возможности криминалистики и исправления…

Апрель 23 2024

Зеленая и цифровая революция: как прогнозируемое обслуживание меняет нефтегазовую отрасль

Прогнозируемое техническое обслуживание производит революцию в нефтегазовом секторе благодаря инновационному и упреждающему подходу к управлению предприятием…

Апрель 22 2024

Читайте «Инновации» на вашем языке

Инновационный бюллетень
Не пропустите самые важные новости об инновациях. Зарегистрируйтесь, чтобы получать их по электронной почте.

Следуйте за нами