Laravel și Eloquent ajută la accelerarea dezvoltării aplicațiilor și platformei, oferind o soluție adecvată la majoritatea problemelor. Cerințele sunt abordate cu o dezvoltare mai rapidă, precum și cu un cod bine organizat, reutilizabil, care poate fi întreținut și scalabil.
Dezvoltatorii pot lucra în Eloquent
cu mai multe baze de date utilizând eficient o implementare ActiveMethod. Este un model arhitectural în care modelul creat în structura Model-View-Controller (MVC) corespunde unui tabel din baza de date. Avantajul este că modelele efectuează operațiuni comune de bază de date fără a codifica interogări SQL lungi. Șabloanele vă permit să interogați date în tabele și să inserați noi înregistrări în tabele. Procesul de sincronizare a mai multor baze de date care rulează pe sisteme diferite este simplificat. Nu trebuie să scrieți interogări SQL. Tot ce trebuie să faci este defiTerminați tabelele bazei de date și relațiile dintre ele, iar Eloquent va face restul muncii.
Aprecierea utilității Eloquent ORM și înțelegerea ecosistemului este o necesitate. Pași pentru a începe:
migration
folosind consola Artisan
eloquent
seed
a bazei de dateArtisan Console
este numele interfeței liniei de comandă inclusă în Laravel. Oferă un set de comenzi utile de utilizat în timpul dezvoltării aplicației. Este condus de componenta puternică Symfony Console
.
Pentru a vedea o listă cu toate comenzile Artisan disponibile, puteți utiliza comanda listă:
php artisan list
Toate comenzile vin cu o descriere concisă a argumentelor și opțiunilor sale. Acest lucru este afișat într-un ecran de „ajutor”. Pentru a afișa un ecran de ajutor, pur și simplu precedați numele comenzii cu „ajutor”, așa cum se arată:
php artisan help migrate
Migration
Migrarea este un proces de gestionare a bazei de date prin scrierea PHP SQL
. Oferă o modalitate de a adăuga controlul versiunilor la baza de date.
Pentru a crea o migrare, trebuie doar să rulați următoarea comandă:
php artisan make:migration create_student_records
Aceasta creează fișierul de migrare. În editorul de text, deschideți fișierul pe care tocmai l-ați creat în dosar 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');
}
}
Codul este o clasă cu același numecreate student records
', și are două metode: sus și jos. Metoda up ar trebui să facă modificări în baza de date; deci ori de câte ori migrați baza de date, orice cod din metoda up va fi executat. Pe de altă parte, metoda down ar trebui să anuleze acele modificări ale bazei de date; deci ori de câte ori rulați rollback
de migration
, metoda down ar trebui să anuleze ceea ce a făcut metoda up. În interiorul metodei up
există generatorul de schemă folosit pentru a crea și manipula tabelele. Ce se întâmplă dacă anulați unele dintre migrațiile dvs.? Tot ce trebuie să faceți este să implementați următoarea comandă:
php artisan migrate:rollback
Și îl va colecta pe ultimul migration
care a fost implementat. De asemenea, puteți restaura complet baza de date rulând:
php artisan migrate:reset
Acest lucru va anula toate migrațiile dvs.
Eloquent
După ce migrarea bazei de date este finalizată, următorul proces este seeding
. Eloquent
intră în joc începând cu seeding
introduce înregistrări în baza noastră de date. Deci, va trebui să creați șabloanele înainte de a popula baza de date. Fiecare tabel de bază de date are un model corespunzător care este utilizat pentru a interacționa cu acel tabel. Șabloanele vă permit să interogați datele din tabelele dvs., precum și să inserați noi înregistrări în tabel. Cel mai simplu mod de a instanția modelul este să utilizați următoarea comandă:
php artisan make:model Student
Un exemplu de șablon este prezentat mai jos Student
, care poate fi folosit pentru a prelua și stoca informații din tabelul bazei de date a elevilor noștri:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Când generați un model și, în același timp, doriți să generați o migrare a bazei de date, puteți utiliza opțiunea –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Seeders generali sunt un set special de clase care ne permit să ne populăm baza de date din nou și din nou cu exact aceleași date. Implementăm următoarea comandă:
php artisan make:seeder StudentsRecordSeeder
În editorul de text, sub folderul semințe, deschideți fișierul nou creat cu numele fișierului: StudentsRecordSeeder.php
. După cum puteți vedea, aceasta este doar o clasă foarte simplă cu o singură metodă numită run
,
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Codul este doar un înveliș în jurul unei clase de comandă de consolă, creat special pentru a ajuta la sarcina de seeding
. Editați codul și apoi salvați-l.
public function run()
{
echo 'Seeding!';
}
Și mergând la terminal:
php artisan db:seed --class=StudentsRecordSeeder
Acum puteți completa tabelul cu câteva intrări și puteți rula:
php artisan db:seed --class=class=StudentsRecordSeeder
Aici puteți continua să ștergeți, să adăugați, să modificați intrări în DB, apoi să le restaurați cu o simplă comandă.
Operațiunile CRUD cu Laravel Eloquent object-relational mapper (ORM) facilitează pentru dezvoltatorii Laravel să lucreze cu mai multe baze de date. Efectuează operațiuni de creare, citire, actualizare și ștergere (CRUD) și mapează modele de obiecte la tabelele bazei de date. Se ocupă de toate interacțiunile de bază de date necesare pentru operațiunile CRUD.
Puteți folosi metoda ::create pentru a insera o înregistrare nouă în baza de date.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Pe lângă metoda simplă de creare prezentată mai sus, puteți crea și un nou obiect și îi puteți da atribute diferite. Apoi, puteți apela funcția save() și rula codul. Metode ca firstOrCreate
() sau firstOrNew
() sunt alte opțiuni pentru crearea înregistrărilor. Acestea vă vor permite să găsiți un student cu anumite atribute; dacă acel student nu este găsit, îl vei crea în baza de date sau vei instanția o nouă instanță.
Folosind Eloquent ORM, puteți găsi înregistrări în baza de date. Interogările sunt construite simplu și oferă un flux fluid. Pentru a crea declarații:where
, vei folosi metodele get
() Și first
(). Metoda first
() va returna doar o înregistrare, în timp ce metoda get
() va returna o matrice de înregistrări care poate fi efectuată în buclă. De asemenea, metoda find
() poate fi folosit cu o serie de chei primare, care va returna o colecție de înregistrări care se potrivesc. Aici sunt cateva exemple:
$student = Students::all();
Acest cod primește toți studenții. În timp ce următorul cod găsește un anumit student după ID:
$student = Students::find(1);
De asemenea, după cum se arată mai jos, codul descrie căutarea unui student pe baza unui anumit atribut.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Pentru metoda get(), acest cod arată cum să găsiți un student cu un nivel peste 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Actualizarea înregistrărilor folosind Eloquent este la fel de ușoară. Pentru a actualiza o înregistrare, doar găsiți înregistrarea pe care doriți să o actualizați, editați atributele și salvați. De exemplu, pentru a schimba nivelul clasei elevului lui John Doe la 5, mai întâi găsiți elevul și apoi executați metoda de salvare.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Metoda de salvare poate fi folosită și pentru a actualiza modele care există deja în baza de date.
Eloquent se laudă cu procesul său ușor de actualizare a înregistrărilor, dar are aceeași poveste cu ștergerea. Există două opțiuni: extrageți înregistrările și executați metoda de ștergere sau pur și simplu utilizați metoda distrugerii. Pentru a găsi și șterge o înregistrare, pur și simplu rulați următoarele comenzi:
$student = Students::find(1);
$student->delete();
Pentru a șterge o înregistrare și mai multe înregistrări, se execută comenzile:
Students::destroy(1);
Students::destroy(1, 2, 3);
Rețineți că parametrii distrugerii sunt doar chei primare, spre deosebire de metoda de ștergere care poate accepta orice coloană a bazei de date.
Pentru a găsi și șterge toți studenții de peste nivelul 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Luni trecută, Financial Times a anunțat un acord cu OpenAI. FT își licențiază jurnalismul de clasă mondială...
Milioane de oameni plătesc pentru serviciile de streaming, plătind taxe lunare de abonament. Este o părere comună că tu...
Coveware de la Veeam va continua să ofere servicii de răspuns la incidente de extorcare cibernetică. Coveware va oferi capacități criminalistice și de remediere...
Întreținerea predictivă revoluționează sectorul petrolului și gazelor, cu o abordare inovatoare și proactivă a managementului uzinelor...