Laravel і Eloquent допомагають прискорити розробку додатків і платформ, надаючи адекватне рішення більшості проблем. Вимоги задовольняються за допомогою швидшої розробки, а також добре організованого коду, який можна багаторазово використовувати, підтримувати та масштабувати.
Розробники можуть працювати в Eloquent
з кількома базами даних, ефективно використовуючи реалізацію ActiveMethod. Це архітектурний шаблон, де модель, створена в структурі Model-View-Controller (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
У текстовому редакторі в папці seeds відкрийте щойно створений файл із назвою: 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 з об’єктно-реляційним картографом (ORM) Laravel Eloquent спрощують роботу розробників 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 = Students::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);
Зауважте, що параметри delete є лише первинними ключами, на відміну від методу delete, який може приймати будь-який стовпець бази даних.
Щоб знайти та видалити всіх учнів вище 10 рівня.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Термін Smart Lock Market стосується галузі та екосистеми, що оточує виробництво, розповсюдження та використання…
У розробці програмного забезпечення шаблони проектування є оптимальним вирішенням проблем, які зазвичай виникають під час проектування програмного забезпечення. Мені подобається…
Промислове маркування — це широкий термін, який охоплює кілька методів, які використовуються для створення стійких позначок на поверхні…
Наступні прості приклади макросів Excel були написані за допомогою VBA Приблизний час читання: 3 хвилини Приклад…