Laravel u Eloquent jgħinu biex iħaffu l-iżvilupp tal-applikazzjoni u l-pjattaforma, u jipprovdu soluzzjoni adegwata għall-biċċa l-kbira tal-problemi. Ir-rekwiżiti huma indirizzati bi żvilupp aktar mgħaġġel, kif ukoll kodiċi organizzat tajjeb, li jista 'jerġa' jintuża, li jista' jinżamm u li jista 'jskala.
L-iżviluppaturi jistgħu jaħdmu fih Eloquent
b'databases multipli bl-użu effiċjenti ta 'implimentazzjoni ta' ActiveMethod. Huwa mudell arkitettoniku fejn il-mudell maħluq fl-istruttura Mudell-View-Kontrollur (MVC) jikkorrispondi għal tabella fid-database. Il-vantaġġ huwa li l-mudelli jwettqu operazzjonijiet ta 'database komuni mingħajr ma jikkodifikaw mistoqsijiet SQL twal. Il-mudelli jippermettulek tagħmel mistoqsija tad-dejta fit-tabelli u daħħal rekords ġodda fit-tabelli. Il-proċess ta 'sinkronizzazzjoni ta' databases multipli li jaħdmu fuq sistemi differenti huwa ssimplifikat. M'għandekx bżonn tikteb mistoqsijiet SQL. Kulma għandek tagħmel hu defiLesti t-tabelli tad-database u r-relazzjonijiet bejniethom, u Eloquent jagħmel il-bqija tax-xogħol.
L-apprezzament tal-utilità tal-ORM Eloquent, u l-fehim tal-ekosistema huwa meħtieġ. Passi biex tibda:
migration
bl-użu tal-console Artisan
eloquent
seed
tad-databaseArtisan Console
huwa l-isem tal-interface tal-linja tal-kmand inkluż f'Laravel. Jipprovdi sett ta 'kmandi utli għall-użu waqt l-iżvilupp tal-applikazzjoni. Huwa mmexxi mill-komponent qawwi Symfony Console
.
Biex tara lista tal-kmandi Artiġjani kollha disponibbli, tista' tuża l-kmand tal-lista:
php artisan list
Il-kmandi kollha jiġu b'deskrizzjoni konċiża tal-argumenti u l-għażliet tagħha. Dan jidher fi skrin ta’ “għajnuna”. Biex tara skrin ta' għajnuna, sempliċement qabel l-isem tal-kmand b'"għajnuna" kif muri:
php artisan help migrate
Migration
Il-migrazzjoni hija proċess ta 'ġestjoni tad-database billi tikteb PHP minflok SQL
. Jipprovdi mod biex iżżid il-kontroll tal-verżjoni mad-database.
Biex toħloq migrazzjoni, mexxi l-kmand li ġej:
php artisan make:migration create_student_records
Dan joħloq il-fajl tal-migrazzjoni. Fl-editur tat-test tiegħek, iftaħ il-fajl li għadek kif ħoloq fil-folder 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');
}
}
Il-kodiċi huwa klassi bl-istess isem'create student records
', u għandha żewġ metodi: 'l fuq u' l isfel. Il-metodu up għandu jagħmel bidliet fid-database; għalhekk kull darba li temigra d-database tiegħek, kwalunkwe kodiċi fil-metodu up jiġi esegwit. Min-naħa l-oħra, il-metodu down għandu jreġġa' lura dawk il-bidliet fid-database; hekk kull darba li tmexxi l rollback
ta ' migration
, il-metodu 'l isfel għandu jneħħi dak li għamel il-metodu 'l fuq. Ġewwa l-metodu up
hemm il-bennej schema użat biex jinħolqu u jimmanipulaw it-tabelli. X'jiġri jekk tikkanċella xi wħud mill-migrazzjoni tiegħek? Kull ma trid tagħmel hu li timplimenta l-kmand li ġej:
php artisan migrate:rollback
U se jirtira l-aħħar wieħed migration
li ġie implimentat. Barra minn hekk, tista’ tirrestawra kompletament id-database billi tħaddem:
php artisan migrate:reset
Dan se jikkanċella l-migrazzjoni kollha tiegħek.
Eloquent
Ladarba l-migrazzjoni tad-database tkun kompluta, il-proċess li jmiss huwa l- seeding
. Eloquent
jidħol fis-seħħ peress li l seeding
hija l-inserzjoni ta' rekords fid-database tagħna. Allura ser ikollok bżonn toħloq il-mudelli qabel timla d-database. Kull tabella tad-database għandha mudell korrispondenti li jintuża biex jinteraġixxi ma' dik it-tabella. Il-mudelli jippermettulek tagħmel mistoqsija dwar id-dejta fit-tabelli tiegħek, kif ukoll iddaħħal rekords ġodda fit-tabella. L-eħfef mod biex tistjanzja l-mudell huwa li tuża l-kmand li ġej:
php artisan make:model Student
Mudell eżempju jidher hawn taħt Student
, li tista' tintuża biex tirkupra u tinħażen informazzjoni mit-tabella tad-database tal-istudenti tagħna:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Meta tiġġenera mudell u fl-istess ħin trid tiġġenera migrazzjoni tad-database, tista 'tuża l-għażla –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Is-seeders ġenerali huma sett speċjali ta' klassijiet li jippermettulna timla d-database tagħna għal darb'oħra bl-istess data eżatta. Aħna nimplimentaw il-kmand li ġej:
php artisan make:seeder StudentsRecordSeeder
Fl-editur tat-test, taħt il-folder taż-żrieragħ, iftaħ il-fajl maħluq ġdid bl-isem tal-fajl: StudentsRecordSeeder.php
. Kif tistgħu taraw, din hija biss klassi sempliċi ħafna b'metodu wieħed imsejjaħ run
()
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Il-kodiċi huwa biss tgeżwir madwar klassi ta 'kmand tal-console, maħluqa speċifikament biex tgħin fil-kompitu ta' seeding
. Editja l-kodiċi u mbagħad issalvah.
public function run()
{
echo 'Seeding!';
}
U tmur fit-terminal:
php artisan db:seed --class=StudentsRecordSeeder
Issa tista' timla t-tabella b'xi entrati u tmexxi:
php artisan db:seed --class=class=StudentsRecordSeeder
Hawnhekk tista 'tkompli tħassar, iżżid, timmodifika l-entrati fid-DB, imbagħad tirrestawrahom bi kmand sempliċi.
L-operazzjonijiet CRUD b'Laravel Eloquent object-relational mapper (ORM) jagħmluha aktar faċli għall-iżviluppaturi ta' Laravel biex jaħdmu ma' databases multipli. Iwettaq operazzjonijiet ta' ħolqien, taqra, taġġorna u ħassar (CRUD), kif ukoll jimmappa mudelli ta' oġġetti għal tabelli ta' database. Jiġġestixxi l-interazzjonijiet tad-database kollha meħtieġa għall-operazzjonijiet CRUD.
Tista' tuża l-metodu ::create biex daħħal rekord ġdid fid-database.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Minbarra l-metodu ta 'ħolqien sempliċi muri hawn fuq, tista' wkoll toħloq oġġett ġdid u tassenjalu attributi differenti. Imbagħad, tista 'ssejjaħ il-funzjoni save() u tħaddem il-kodiċi. Metodi simili firstOrCreate
() jew firstOrNew
() huma għażliet oħra għall-ħolqien ta' rekords. Dawn jippermettulek issib student b'ċerti attributi; jekk dak l-istudent ma jinstabx, int se toħloqha fid-database jew tagħti istanzija ta' istanza ġdida.
Bl-użu ta 'Eloquent ORM, tista' ssib rekords fid-database tiegħek. Il-mistoqsijiet huma mibnija b'mod sempliċi u joffru fluss bla xkiel. Biex toħloq struzzjonijiet ::where
, se tuża l-metodi get
() U first
(). Il-metodu first
() se jirritorna rekord wieħed biss, filwaqt li l- get
() se jirritorna firxa ta 'rekords li jistgħu jiġu loop fuq. Barra minn hekk, il-metodu find
() jista 'jintuża ma' firxa ta 'ċwievet primarji, li se jirritorna ġabra ta' rekords li jaqblu. Hawn huma xi eżempji:
$student = Students::all();
Dan il-kodiċi jġib l-istudenti kollha. Filwaqt li l-kodiċi li ġej isib student speċifiku bl-ID:
$student = Students::find(1);
Barra minn hekk, kif muri hawn taħt, il-kodiċi jiddeskrivi t-tfittxija ta’ student ibbażata fuq attribut speċifiku.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Għall-metodu get(), dan il-kodiċi juri kif issib student b'livell ogħla minn 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
L-aġġornament tar-rekords bl-użu ta 'Eloquent huwa daqstant sempliċi. Biex taġġorna rekord, sempliċement issib ir-rekord li trid taġġorna, editja l-attributi, u ssejvja. Pereżempju, biex tbiddel il-livell tal-grad tal-istudent ta' John Doe għal 5, l-ewwel sib l-istudent u mbagħad ħaddem il-metodu ta' salvataġġ.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Il-metodu ta' salvataġġ jista' jintuża wkoll biex taġġorna mudelli li diġà jeżistu fid-database.
Eloquent tiftaħar il-proċess faċli tiegħu ta 'aġġornament tar-rekords, iżda għandu l-istess storja bit-tħassir. Hemm żewġ għażliet: rekord pull-out u tesegwixxi l-metodu tat-tħassir, jew sempliċement tuża l-metodu jeqirdu. Biex issib u tħassar rekord, sempliċement ħaddem il-kmandi li ġejjin:
$student = Students::find(1);
$student->delete();
Biex tħassar rekord u rekords multipli, il-kmandi jiġu esegwiti:
Students::destroy(1);
Students::destroy(1, 2, 3);
Innota li l-parametri jeqirdu huma biss ċwievet primarji b'differenza mill-metodu tat-tħassir li jista 'jaċċetta kwalunkwe kolonna tad-database.
Biex issib u tħassar l-istudenti kollha b'livell ogħla minn 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Coveware minn Veeam se jkompli jipprovdi servizzi ta' rispons għal inċidenti ta' estorsjoni ċibernetika. Coveware se joffri forensiċi u kapaċitajiet ta' rimedju...
Il-manutenzjoni ta’ tbassir qed tirrivoluzzjona s-settur taż-żejt u l-gass, b’approċċ innovattiv u proattiv għall-ġestjoni tal-impjant...
Is-CMA tar-Renju Unit ħarġet twissija dwar l-imġieba ta 'Big Tech fis-suq tal-intelliġenza artifiċjali. Hemm…
Id-Digriet "Case Green", ifformulat mill-Unjoni Ewropea biex itejjeb l-effiċjenza enerġetika tal-bini, ikkonkluda l-proċess leġiżlattiv tiegħu bi...