Laravel an Eloquent hëllefen d'Applikatioun an d'Plattformentwécklung ze beschleunegen, fir eng adäquat Léisung fir déi meescht Probleemer ze bidden. Ufuerderunge gi mat méi séier Entwécklung adresséiert, souwéi gutt organiséiert, wiederverwendbar, erhalebar a skalierbar Code.
Entwéckler kënne schaffen an Eloquent
mat multiple Datenbanken effizient mat enger ActiveMethod Implementatioun. Et ass en architektonescht Muster wou de Modell erstallt an der Model-View-Controller (MVC) Struktur entsprécht enger Tabell an der Datebank. De Virdeel ass datt d'Modeller allgemeng Datebankoperatioune maachen ouni laang SQL Ufroen ze codéieren. Schabloune erlaaben Iech Daten an Tabellen ze froen an nei Opzeechnungen an Dëscher anzeginn. De Prozess fir verschidde Datenbanken ze synchroniséieren, déi op verschiddene Systemer lafen, gëtt vereinfacht. Dir braucht keng SQL Ufroen ze schreiwen. Alles wat Dir maache musst ass defiFäerdeg d'Datebank Dëscher an d'Relatiounen tëscht hinnen, an Eloquent wäert de Rescht vun der Aarbecht maachen.
D'Utilitéit vun Eloquent ORM ze schätzen, an den Ökosystem ze verstoen ass e Must. Schrëtt fir unzefänken:
migration
d'Konsole benotzen Artisan
eloquent
seed
vun der DatebankArtisan Console
ass den Numm vun der Kommandozeil-Interface a Laravel abegraff. Bitt eng Rei vun nëtzlechen Kommandoen fir ze benotzen wärend Dir Är Applikatioun entwéckelt. Et gëtt duerch de mächtege Komponent gedriwwen Symfony Console
.
Fir eng Lëscht vun all verfügbaren Artisan Kommandoen ze gesinn, kënnt Dir de Kommando Lëscht benotzen:
php artisan list
All Kommandoe kommen mat enger präzis Beschreiwung vu sengen Argumenter an Optiounen. Dëst gëtt an engem "Hëllef" Écran gewisen. Fir en Hëllefsbildschierm ze weisen, gitt einfach de Kommandonumm mat "Hëllef" vir wéi et ugewise gëtt:
php artisan help migrate
Migration
Migratioun ass en Datebankmanagementprozess andeems Dir PHP amplaz schreift SQL
. Bitt e Wee fir Versiounskontroll an d'Datebank ze addéieren.
Fir eng Migratioun ze kreéieren, fuert just de folgende Kommando:
php artisan make:migration create_student_records
Dëst erstellt d'Migratiounsdatei. An Ärem Texteditor, öffnen d'Datei déi Dir just am Dossier erstallt hutt 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');
}
}
De Code ass eng Klass mam selwechten Numm 'create student records
', an huet zwou Methoden: erop an erof. D'up Method soll Ännerungen un der Datebank maachen; also wann Dir Är Datebank migréiert, gëtt all Code an der Up Method ausgefouert. Op der anerer Säit soll d'Down-Methode dës Datebank Ännerungen zréckrollen; also wann Dir lafen der rollback
della migration
, d'Down-Methode soll réckgängeg maachen wat d'Up-Methode gemaach huet. Bannen an der Method up
et gëtt de Schema Builder benotzt fir d'Dëscher ze kreéieren an ze manipuléieren. Wat geschitt wann Dir e puer vun Äre Migratiounen annuléiert? Alles wat Dir maache musst ass de folgende Kommando ëmzesetzen:
php artisan migrate:rollback
An hie wäert déi lescht sammelen migration
déi ëmgesat gouf. Och kënnt Dir d'Datebank komplett restauréieren andeems Dir leeft:
php artisan migrate:reset
Dëst wäert all Är Migratiounen annuléieren.
Eloquent
Nodeems d'Datebankmigratioun fäerdeg ass, ass de nächste Prozess den seeding
. Eloquent
kënnt zënter dem seeding
setzt records an eiser Datebank op. Also musst Dir Schabloune erstellen ier Dir d'Datebank populéiert. All Datebanktabell huet e entspriechende Modell dee benotzt gëtt fir mat där Tabell ze interagéieren. Schabloune erlaaben Iech d'Donnéeën an Ären Dëscher ze froen, souwéi nei Opzeechnungen an d'Tabell setzen. Deen einfachste Wee fir de Modell z'instantiéieren ass de folgende Kommando ze benotzen:
php artisan make:model Student
E Beispill vun enger Schabloun gëtt hei ënnen gewisen Student
, déi benotzt ka ginn fir Informatioun aus der Datebank vun eisem Student ze recuperéieren an ze späicheren:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Wann Dir e Modell generéiert a gläichzäiteg wëllt Dir eng Datebankmigratioun generéieren, kënnt Dir d'Optioun benotzen –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Allgemeng Seeders sinn e spezielle Set vu Klassen, déi et eis erlaben eis Datebank ëmmer erëm mat de genaue selwechten Donnéeën ze populéieren. Mir implementéieren de folgende Kommando:
php artisan make:seeder StudentsRecordSeeder
Am Texteditor, ënner dem Somen Dossier, öffnen déi nei erstallt Datei mam Dateinumm: StudentsRecordSeeder.php
. Wéi Dir kënnt gesinn ass dëst just eng ganz einfach Klass mat enger eenzeger Method genannt run
,
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
De Code ass just e Wrapper ronderëm eng Konsol Kommando Klass, speziell gebaut fir mat der Aufgab ze hëllefen seeding
. Ännert de Code a späichert et dann.
public function run()
{
echo 'Seeding!';
}
A gitt op den Terminal:
php artisan db:seed --class=StudentsRecordSeeder
Elo kënnt Dir den Dësch mat e puer Entréen populéieren a lafen:
php artisan db:seed --class=class=StudentsRecordSeeder
Hei kënnt Dir weider Elementer an der DB läschen, addéieren, änneren, a se dann mat engem einfachen Kommando restauréieren.
CRUD Operatiounen mat Laravel Eloquent Object-Relational Mapper (ORM) maachen et méi einfach fir Laravel Entwéckler mat méi Datenbanken ze schaffen. Et mécht Operatiounen erstellen, liesen, aktualiséieren a läschen (CRUD), a kartéiert Objektmodeller op Datebanktabellen. Handhabt all Datebank Interaktiounen déi fir CRUD Operatiounen erfuerderlech sinn.
Dir kënnt d':: erstellen Method benotze fir en neie Rekord an d'Datebank anzeginn.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Zousätzlech zu der einfacher Kreatiounsmethod hei uewen, kënnt Dir och en neien Objet erstellen an et verschidden Attributer ginn. Da kënnt Dir d'Späicheren () Funktioun ruffen an de Code lafen. Methode wéi firstOrCreate
() oder firstOrNew
() sinn aner Optiounen fir Rekorder ze kreéieren. Dëst erlaabt Iech e Student mat bestëmmten Attributer ze fannen; wann dee Student net fonnt gëtt, erstellt Dir en an der Datebank oder instantiéiert eng nei Instanz.
Mat Eloquent ORM kënnt Dir records an Ärer Datebank fannen. D'Ufroe sinn einfach konstruéiert a bidden e glate Flow. Aussoen erstellen::where
, Dir wäert d'Methoden benotzen get
() An first
(). D'Method first
() gëtt nëmmen ee Rekord zréck, iwwerdeems d'Method get
() gëtt e loopablen Array vun Opzeechnungen zréck. Och d'Method find
() ka mat enger Rei vu primäre Schlësselen benotzt ginn, déi eng Sammlung vu passenden records zréckginn. Hei sinn e puer Beispiller:
$student = Students::all();
Dëse Code kritt all Studenten. Wärend de folgende Code e spezifesche Student duerch ID fënnt:
$student = Studenten::find(1);
Och, wéi hei ënnendrënner, beschreift de Code d'Sich no engem Student baséiert op engem spezifeschen Attribut.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Fir d'get () Method weist dëse Code wéi een e Student mat engem Niveau iwwer 5 fënnt.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Aktualiséierung vun records mat Eloquent ass grad esou einfach. Fir e Rekord ze aktualiséieren, fannt Dir just de Rekord deen Dir wëllt aktualiséieren, ännert d'Attributer a späichert. Zum Beispill, fir de Gradniveau vum John Doe säi Student op 5 z'änneren, fanne fir d'éischt de Student an ausféiert dann d'Späichermethod.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
D'Späichermethod kann och benotzt ginn fir Modeller ze aktualiséieren déi schonn an der Datebank existéieren.
Eloquent boasts vu sengem einfache Rekordaktualiséierungsprozess, awer et huet déiselwecht Geschicht mat Läschen. Et ginn zwou Optiounen: Pull-out records an ausféieren d'Läschmethod, oder benotzt einfach d'Zerstéierungsmethod. Fir e Rekord ze fannen an ze läschen, fuert einfach déi folgend Kommandoen:
$student = Students::find(1);
$student->delete();
Fir e Rekord a verschidde Rekorder ze läschen, ginn d'Befehle lafen:
Students::destroy(1);
Students::destroy(1, 2, 3);
Notéiert datt d'Parameter vun der Zerstéierung nëmme primär Schlësselen sinn am Géigesaz zu der Läschenmethod déi all Datebankkolonne akzeptéiere kann.
Fir all Studenten iwwer Niveau 10 ze fannen an ze läschen.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
De leschte Méindeg huet d'Financial Times en Deal mat OpenAI ugekënnegt. FT lizenzéiert säi Weltklass Journalismus ...
Millioune vu Leit bezuelen fir Streaming Servicer, a bezuelen monatlecht Abonnementskäschte. Et ass allgemeng Meenung datt Dir ...
Coveware vu Veeam wäert weider Cyber Erpressung Tëschefall Äntwert Servicer ubidden. Coveware wäert Forensik a Sanéierungsfäegkeeten ubidden ...
Predictive Maintenance revolutionéiert den Ueleg- a Gassektor, mat enger innovativer a proaktiver Approche fir d'Planzemanagement.…