Laravel и Eloquent помогают ускорить разработку приложений и платформ, обеспечивая адекватное решение большинства проблем. Требования удовлетворяются за счет более быстрой разработки, а также хорошо организованного, многократно используемого, поддерживаемого и масштабируемого кода.
Разработчики могут работать в Eloquent
эффективно работать с несколькими базами данных с использованием реализации ActiveMethod. Это архитектурный шаблон, в котором модель, созданная в структуре Модель-Представление-Контроллер (MVC), соответствует таблице в базе данных. Преимущество состоит в том, что модели выполняют общие операции с базой данных без написания длинных SQL-запросов. Шаблоны позволяют запрашивать данные в таблицах и вставлять в таблицы новые записи. Упрощается процесс синхронизации нескольких баз данных, работающих в разных системах. Вам не нужно писать SQL-запросы. Все, что вам нужно сделать, это defiЗавершите работу с таблицами базы данных и связями между ними, а Eloquent выполнит остальную работу.
Необходимо ценить полезность Eloquent ORM и понимать экосистему. Шаги для начала:
migration
с помощью консоли Artisan
eloquent
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
Это отменит все ваши миграции.
Eloquent
После завершения миграции базы данных следующим процессом является seeding
. Eloquent
вступает в игру с момента 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 (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
В прошлый понедельник Financial Times объявила о сделке с OpenAI. FT лицензирует свою журналистику мирового уровня…
Миллионы людей платят за стриминговые сервисы, выплачивая ежемесячную абонентскую плату. Распространено мнение, что вы…
Coveware от Veeam продолжит предоставлять услуги по реагированию на инциденты, связанные с кибер-вымогательством. Coveware предложит возможности криминалистики и исправления…
Прогнозируемое техническое обслуживание производит революцию в нефтегазовом секторе благодаря инновационному и упреждающему подходу к управлению предприятием…