Laravel ja Eloquent aitavad kiirendada rakenduste ja platvormide arendamist, pakkudes enamikule probleemidele adekvaatse lahenduse. Nõuded on lahendatud nii kiirema arenduse kui ka hästi organiseeritud, korduvkasutatava, hooldatava ja skaleeritava koodiga.
Arendajad saavad sisse töötada Eloquent
mitme andmebaasiga tõhusalt, kasutades ActiveMethodi rakendust. See on arhitektuurne muster, kus Model-View-Controller (MVC) struktuuris loodud mudel vastab andmebaasis olevale tabelile. Eeliseks on see, et mudelid sooritavad tavalisi andmebaasioperatsioone ilma pikki SQL päringuid kodeerimata. Mallid võimaldavad teil teha päringuid tabelites olevate andmete kohta ja lisada tabelitesse uusi kirjeid. Erinevates süsteemides töötava mitme andmebaasi sünkroonimise protsess on lihtsustatud. Te ei pea SQL-päringuid kirjutama. Kõik, mida pead tegema, on defiLõpeta andmebaasi tabelid ja nendevahelised seosed ning Eloquent teeb ülejäänud töö ära.
Eloquent ORM-i kasulikkuse hindamine ja ökosüsteemi mõistmine on kohustuslik. Toimingud alustamiseks:
migration
konsooli kasutades Artisan
eloquent
seed
andmebaasistArtisan Console
on Laravelis sisalduva käsurea liidese nimi. Pakub kasulikke käske, mida rakenduse arendamisel kasutada. Seda juhib võimas komponent Symfony Console
.
Kõigi saadaolevate Artisani käskude loendi vaatamiseks võite kasutada käsku list:
php artisan list
Kõikide käskudega on kaasas selle argumentide ja valikute lühike kirjeldus. Seda näidatakse "abikuval". Abikuva kuvamiseks sisestage käsu nime ette "help", nagu näidatud:
php artisan help migrate
Migration
Migratsioon on andmebaasihaldusprotsess, mille asemel kirjutatakse PHP SQL
. Annab võimaluse lisada andmebaasi versioonikontroll.
Migratsiooni loomiseks käivitage lihtsalt järgmine käsk:
php artisan make:migration create_student_records
See loob migratsioonifaili. Avage oma tekstiredaktoris kaustas äsja loodud fail 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');
}
}
Kood on sama nimega klass "create student records
ja sellel on kaks meetodit: üles ja alla. Up-meetod peaks tegema andmebaasis muudatusi; nii et iga kord, kui oma andmebaasi migreerite, käivitatakse üles meetodi kood. Teisest küljest peaks alla meetod need andmebaasi muudatused tagasi tõmbama; nii et kui käivitate rollback
kohta migration
, peaks alla meetod tühistama selle, mida üles meetod tegi. Meetodi sees up
seal on tabelite loomiseks ja töötlemiseks kasutatav skeemi koostaja. Mis juhtub, kui tühistate mõne oma migratsiooni? Kõik, mida pead tegema, on rakendada järgmine käsk:
php artisan migrate:rollback
Ja ta kogub viimase migration
mis on ellu viidud. Samuti saate andmebaasi täielikult taastada, käivitades:
php artisan migrate:reset
See tühistab kõik teie migratsioonid.
Eloquent
Pärast andmebaasi migratsiooni lõpetamist on järgmine protsess seeding
. Eloquent
tuleb mängu alates seeding
lisab kirjeid meie andmebaasi. Seega peate enne andmebaasi asustamist mallid looma. Igal andmebaasi tabelil on vastav mudel, mida kasutatakse selle tabeliga suhtlemiseks. Mallid võimaldavad teil teha päringuid tabelite andmete kohta ja lisada tabelisse uusi kirjeid. Lihtsaim viis mudeli loomiseks on kasutada järgmist käsku:
php artisan make:model Student
Malli näide on näidatud allpool Student
, mida saab kasutada meie õpilaste andmebaasi tabelist teabe hankimiseks ja salvestamiseks:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Kui loote mudeli ja soovite samal ajal genereerida andmebaasi migratsiooni, saate kasutada valikut –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Üldkülvikud on eriline klasside komplekt, mis võimaldab meil täita oma andmebaasi ikka ja jälle täpselt samade andmetega. Rakendame järgmise käsu:
php artisan make:seeder StudentsRecordSeeder
Avage tekstiredaktoris seemnekausta all vastloodud fail failinimega: StudentsRecordSeeder.php
. Nagu näete, on see väga lihtne klass, millel on üks meetod run
,
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Kood on lihtsalt konsooli käsuklassi ümbris, mis on spetsiaalselt loodud ülesande täitmiseks seeding
. Muutke koodi ja salvestage see.
public function run()
{
echo 'Seeding!';
}
Ja terminali minnes:
php artisan db:seed --class=StudentsRecordSeeder
Nüüd saate täita tabeli mõne kirjega ja käivitada:
php artisan db:seed --class=class=StudentsRecordSeeder
Siin saate jätkata DB-s kirjete kustutamist, lisamist, muutmist ja seejärel lihtsa käsuga taastamist.
CRUD operatsioonid Laravel Eloquent Object-Reational Mapper (ORM) abil muudavad Laraveli arendajatel mitme andmebaasiga töötamise lihtsamaks. See teostab loomise, lugemise, värskendamise ja kustutamise (CRUD) toiminguid ning kaardistab objektide mudelid andmebaasi tabelitesse. Käsitleb kõiki CRUD-i toimingute jaoks vajalikke andmebaasi interaktsioone.
Uue kirje sisestamiseks andmebaasi saate kasutada meetodit ::create.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Lisaks ülaltoodud lihtsale loomismeetodile saate luua ka uue objekti ja anda sellele erinevaid atribuute. Seejärel saate helistada funktsioonile save() ja käivitada koodi. Meetodid nagu firstOrCreate
() või firstOrNew
() on muud kirjete loomise võimalused. Need võimaldavad teil leida teatud atribuutidega õpilase; kui seda õpilast ei leita, loote selle andmebaasis või loote uue eksemplari.
Eloquent ORM-i abil leiate kirjed oma andmebaasist. Päringud on lihtsalt üles ehitatud ja pakuvad sujuvat voogu. Avalduste loomiseks:where
, kasutate meetodeid get
() Ja first
(). Meetod first
() tagastab ainult ühe kirje, samas kui meetod get
() tagastab tsükliga kirjete massiivi. Samuti meetod find
() saab kasutada koos primaarvõtmete massiiviga, mis tagastab sobivate kirjete kogu. siin on mõned näidised:
$student = Students::all();
See kood saab kõik õpilased. Kuigi järgmine kood leiab konkreetse õpilase ID järgi:
$õpilane = Õpilased::leida(1);
Samuti, nagu allpool näidatud, kirjeldab kood õpilase otsimist konkreetse atribuudi alusel.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Get() meetodi puhul näitab see kood, kuidas leida õpilast, kelle tase on üle 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Kirjete värskendamine Eloquenti abil on sama lihtne. Kirje värskendamiseks leidke lihtsalt kirje, mida soovite värskendada, muutke atribuute ja salvestage. Näiteks John Doe õpilase hindetaseme muutmiseks 5-ks leidke esmalt õpilane ja seejärel käivitage salvestamismeetod.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Salvestusmeetodit saab kasutada ka andmebaasis juba olemasolevate mudelite värskendamiseks.
Eloquent uhkeldab oma lihtsa kirje värskendamise protsessiga, kuid sama lugu on ka kustutamisega. On kaks võimalust: eemaldage kirjed ja käivitage kustutamismeetod või kasutage lihtsalt hävitamismeetodit. Kirje leidmiseks ja kustutamiseks käivitage lihtsalt järgmised käsud:
$student = Students::find(1);
$student->delete();
Kirje ja mitme kirje kustutamiseks käivitatakse järgmised käsud:
Students::destroy(1);
Students::destroy(1, 2, 3);
Pange tähele, et hävitamise parameetrid on ainult primaarvõtmed, erinevalt kustutamismeetodist, mis suudab aktsepteerida mis tahes andmebaasi veergu.
Kõigi 10. tasemest kõrgemate õpilaste leidmiseks ja kustutamiseks.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Veeami Coveware jätkab küberväljapressimise juhtumitele reageerimise teenuste pakkumist. Coveware pakub kohtuekspertiisi ja heastamisvõimalusi…
Ennustav hooldus muudab nafta- ja gaasisektori pöördeliseks uuendusliku ja ennetava lähenemisega tehaste juhtimisele.…
Ühendkuningriigi CMA on väljastanud hoiatuse Big Techi käitumise kohta tehisintellekti turul. Seal…
Euroopa Liidu poolt hoonete energiatõhususe suurendamiseks koostatud roheliste majade dekreet on lõpetanud oma seadusandliku protsessi…