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
Всички команди идват с кратко описание на своите аргументи и опции. Това се показва в екран "помощ". За да покажете помощен екран, просто предшествайте името на командата с „помощ“, както е показано:
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 метода ще бъде изпълнен. От друга страна, методът надолу трябва да отмени тези промени в базата данни; така че всеки път, когато стартирате rollback
на migration
, методът надолу трябва да отмени това, което направи методът нагоре. Вътре в метода 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
В текстовия редактор, под папката със семена, отворете новосъздадения файл с име на файл: 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
Тук можете да продължите да изтривате, добавяте, променяте записи в DB, след което да ги възстановявате с проста команда.
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();
Този код получава всички ученици. Докато следният код намира конкретен студент по ID:
$студент = Студенти::намери(1);
Освен това, както е показано по-долу, кодът описва търсенето на студент въз основа на конкретен атрибут.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
За метода get() този код показва как да намерите ученик с ниво над 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Актуализирането на записи с помощта на Eloquent е също толкова лесно. За да актуализирате запис, просто намерете записа, който искате да актуализирате, редактирайте атрибутите и запазете. Например, за да промените нивото на оценка на ученика на John Doe на 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
Операция по офталмопластика с помощта на търговския зрител Apple Vision Pro беше извършена в поликлиниката в Катания...
Развитието на фини двигателни умения чрез оцветяване подготвя децата за по-сложни умения като писане. Оцветявам…
Военноморският сектор е истинска световна икономическа сила, която се е насочила към пазар от 150 милиарда...
Миналия понеделник Financial Times обяви сделка с OpenAI. FT лицензира своята журналистика от световна класа...