„Laravel“ ir „Eloquent“ padeda pagreitinti taikomųjų programų ir platformų kūrimą, suteikdami tinkamą daugelio problemų sprendimą. Reikalavimai patenkinami naudojant greitesnį vystymąsi, taip pat gerai sutvarkytą, daugkartinį, prižiūrimą ir keičiamo dydžio kodą.
Kūrėjai gali dirbti Eloquent
su keliomis duomenų bazėmis efektyviai naudojant ActiveMethod diegimą. Tai yra architektūrinis modelis, kai modelis, sukurtas modelio peržiūros valdiklio (MVC) struktūroje, atitinka duomenų bazės lentelę. Privalumas yra tas, kad modeliai atlieka įprastas duomenų bazės operacijas nekoduodami ilgų SQL užklausų. Šablonai leidžia pateikti duomenų užklausą lentelėse ir į lenteles įterpti naujus įrašus. Supaprastinamas kelių duomenų bazių, veikiančių skirtingose sistemose, sinchronizavimo procesas. Jums nereikia rašyti SQL užklausų. Viskas, ką jums reikia padaryti, tai defiUžbaikite duomenų bazės lenteles ir ryšius tarp jų, o „Eloquent“ atliks likusį darbą.
Būtina įvertinti Eloquent ORM naudingumą ir suprasti ekosistemą. Veiksmai norint pradėti:
migration
naudojant konsolę Artisan
eloquent
seed
duomenų bazėsArtisan Console
yra komandų eilutės sąsajos, įtrauktos į Laravel, pavadinimas. Pateikiamas rinkinys naudingų komandų, kurias galite naudoti kuriant programą. Jį varo galingas komponentas Symfony Console
.
Norėdami pamatyti visų galimų „Artisan“ komandų sąrašą, galite naudoti sąrašo komandą:
php artisan list
Visos komandos pateikiamos su glaustais argumentų ir parinkčių aprašymu. Tai rodoma „pagalbos“ ekrane. Norėdami parodyti pagalbos ekraną, tiesiog prieš komandos pavadinimą įveskite „help“, kaip parodyta:
php artisan help migrate
Migration
Perkėlimas yra duomenų bazės valdymo procesas, vietoj to rašant PHP SQL
. Suteikia galimybę duomenų bazėje pridėti versijos valdymą.
Norėdami sukurti perkėlimą, tiesiog paleiskite šią komandą:
php artisan make:migration create_student_records
Taip sukuriamas perkėlimo failas. Teksto rengyklėje atidarykite failą, kurį ką tik sukūrėte aplanke 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');
}
}
Kodas yra klasė su tuo pačiu pavadinimu "create student records
“, ir turi du būdus: aukštyn ir žemyn. Up metodas turėtų pakeisti duomenų bazę; taigi, kai perkeliate savo duomenų bazę, bus vykdomas bet koks kodas, esantis aukštyn. Kita vertus, sumažinimo metodas turėtų atšaukti tuos duomenų bazės pakeitimus; taigi, kai tik paleisite rollback
iš migration
, metodas žemyn turėtų anuliuoti tai, ką padarė aukštyn metodas. Metodo viduje up
yra schemų kūrimo priemonė, naudojama lentelėms kurti ir tvarkyti. Kas nutiks, jei atšauksite kai kuriuos perkėlimus? Viskas, ką jums reikia padaryti, tai įgyvendinti šią komandą:
php artisan migrate:rollback
Ir jis surinks paskutinį migration
kuri buvo įgyvendinta. Be to, galite visiškai atkurti duomenų bazę paleisdami:
php artisan migrate:reset
Tai atšauks visus jūsų perkėlimus.
Eloquent
Kai duomenų bazės perkėlimas bus baigtas, kitas procesas yra seeding
. Eloquent
pradeda žaisti nuo seeding
įterpia įrašus į mūsų duomenų bazę. Taigi prieš pildydami duomenų bazę turėsite sukurti šablonus. Kiekviena duomenų bazės lentelė turi atitinkamą modelį, kuris naudojamas sąveikai su ta lentele. Šablonai leidžia pateikti užklausą dėl duomenų lentelėse, taip pat į lentelę įterpti naujų įrašų. Lengviausias būdas sukurti modelį yra naudoti šią komandą:
php artisan make:model Student
Žemiau pateiktas šablono pavyzdys Student
, kurį galima naudoti norint gauti ir saugoti informaciją iš mūsų studentų duomenų bazės lentelės:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Kai generuojate modelį ir tuo pat metu norite generuoti duomenų bazės perkėlimą, galite naudoti parinktį –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Bendrosios sėjamosios yra specialus klasių rinkinys, leidžiantis mums vėl ir vėl pildyti mūsų duomenų bazę tiksliai tais pačiais duomenimis. Įgyvendiname šią komandą:
php artisan make:seeder StudentsRecordSeeder
Teksto rengyklėje, po sėklų aplanku, atidarykite naujai sukurtą failą su failo pavadinimu: StudentsRecordSeeder.php
. Kaip matote, tai tik labai paprasta klasė su vienu metodu run
†
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Kodas yra tik konsolės komandų klasės įvyniojimas, specialiai sukurtas padėti atlikti užduotį seeding
. Redaguokite kodą ir išsaugokite jį.
public function run()
{
echo 'Seeding!';
}
Ir einame į terminalą:
php artisan db:seed --class=StudentsRecordSeeder
Dabar galite užpildyti lentelę kai kuriais įrašais ir paleisti:
php artisan db:seed --class=class=StudentsRecordSeeder
Čia galite nuolat ištrinti, pridėti, keisti DB įrašus, tada atkurti juos paprasta komanda.
CRUD operacijos su Laravel Eloquent Object-relational Mapper (ORM) palengvina Laravel kūrėjams darbą su keliomis duomenų bazėmis. Jis atlieka kūrimo, skaitymo, atnaujinimo ir ištrynimo (CRUD) operacijas ir susieja objektų modelius į duomenų bazių lenteles. Tvarko visas duomenų bazių sąveikas, reikalingas CRUD operacijoms.
Norėdami įterpti naują įrašą į duomenų bazę, galite naudoti ::create metodą.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Be paprasto kūrimo metodo, parodyto aukščiau, taip pat galite sukurti naują objektą ir suteikti jam skirtingus atributus. Tada galite iškviesti funkciją save () ir paleisti kodą. Metodai kaip firstOrCreate
() arba firstOrNew
() yra kitos įrašų kūrimo parinktys. Tai leis jums rasti mokinį, turintį tam tikrų savybių; jei tas mokinys nerastas, sukursite jį duomenų bazėje arba sukursite naują egzempliorių.
Naudodami Eloquent ORM galite rasti įrašus savo duomenų bazėje. Užklausos yra paprastos ir siūlo sklandų srautą. Norėdami sukurti pareiškimus:where
, naudosite metodus get
() Ir first
(). Metodas first
() grąžins tik vieną įrašą, o metodas get
() grąžins įrašų masyvą. Taip pat metodas find
() gali būti naudojamas su pirminių raktų masyvu, kuris grąžins atitinkančių įrašų rinkinį. Štai keletas pavyzdžių:
$student = Students::all();
Šį kodą gauna visi studentai. Nors šis kodas suranda konkretų studentą pagal ID:
$studentas = Studentai::rasti(1);
Be to, kaip parodyta toliau, kodas apibūdina mokinio paiešką pagal konkretų požymį.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Naudojant get() metodą, šis kodas parodo, kaip rasti mokinį, kurio lygis viršija 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Atnaujinti įrašus naudojant „Eloquent“ taip pat paprasta. Norėdami atnaujinti įrašą, tiesiog suraskite įrašą, kurį norite atnaujinti, redaguokite atributus ir išsaugokite. Pavyzdžiui, norėdami pakeisti John Doe mokinio pažymio lygį į 5, pirmiausia suraskite mokinį ir tada vykdykite išsaugojimo metodą.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Įrašymo metodas taip pat gali būti naudojamas atnaujinti modelius, kurie jau yra duomenų bazėje.
„Iloquent“ gali pasigirti paprastu įrašų atnaujinimo procesu, tačiau su ištrynimu turi tą pačią istoriją. Yra dvi parinktys: ištraukti įrašus ir vykdyti trynimo metodą arba tiesiog naudoti naikinimo metodą. Norėdami rasti ir ištrinti įrašą, tiesiog paleiskite šias komandas:
$student = Students::find(1);
$student->delete();
Norėdami ištrinti įrašą ir kelis įrašus, vykdomos komandos:
Students::destroy(1);
Students::destroy(1, 2, 3);
Atminkite, kad sunaikinimo parametrai yra tik pirminiai raktai, skirtingai nei trynimo metodas, kuris gali priimti bet kurį duomenų bazės stulpelį.
Norėdami rasti ir ištrinti visus 10 lygio mokinius.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Katanijos poliklinikoje buvo atlikta oftalmoplastikos operacija naudojant „Apple Vision Pro“ reklaminę peržiūrą…
Lavindami smulkiosios motorikos įgūdžius dažydami, vaikai paruošiami sudėtingesniems įgūdžiams, pavyzdžiui, rašymui. Norėdami nuspalvinti…
Karinio jūrų laivyno sektorius yra tikra pasaulinė ekonominė galia, kuri pasiekė 150 mlrd.
Praėjusį pirmadienį „Financial Times“ paskelbė apie susitarimą su „OpenAI“. FT licencijuoja savo pasaulinio lygio žurnalistiką…