Artiklid

Mis on Laravel Eloquent, kuidas seda kasutada, õpetus koos näidetega

Laravel PHP raamistik sisaldab Eloquent Object Relational Mapperit (ORM), mis pakub äärmiselt lihtsat viisi andmebaasiga suhtlemiseks. 

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. 

Kuidas Eloquent töötab

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.

Laraveli ettevalmistus

Eloquent ORM-i kasulikkuse hindamine ja ökosüsteemi mõistmine on kohustuslik. Toimingud alustamiseks:

  1. Installige Laravel saidilt getcomposer.org ja järgige siin toodud juhiseid
  2. Loomine migration konsooli kasutades Artisan
  3. Loo mallid eloquent
  4. jooksma i seed andmebaasist

Artisan 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 recordsja 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.

Defimudelite väljatöötamine Eloquent

Pärast andmebaasi migratsiooni lõpetamist on järgmine protsess seedingEloquent 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

Külvikud

Ü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.

Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.
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 koos Laravel Eloquentiga

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.

Rekordite loomine

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.

Rekordite lugemine

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();
Salvestage värskendus

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.

Kirjete kustutamine

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
Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.

Viimased artiklid

Veeam pakub lunavarale kõige põhjalikumat tuge alates kaitsest kuni reageerimise ja taastamiseni

Veeami Coveware jätkab küberväljapressimise juhtumitele reageerimise teenuste pakkumist. Coveware pakub kohtuekspertiisi ja heastamisvõimalusi…

Aprill 23 2024

Roheline ja digitaalne revolutsioon: kuidas ennustav hooldus muudab nafta- ja gaasitööstust

Ennustav hooldus muudab nafta- ja gaasisektori pöördeliseks uuendusliku ja ennetava lähenemisega tehaste juhtimisele.…

Aprill 22 2024

Ühendkuningriigi monopolivastane regulaator tõstab BigTechi häire GenAI pärast

Ühendkuningriigi CMA on väljastanud hoiatuse Big Techi käitumise kohta tehisintellekti turul. Seal…

Aprill 18 2024

Casa Green: energiarevolutsioon jätkusuutliku tuleviku nimel Itaalias

Euroopa Liidu poolt hoonete energiatõhususe suurendamiseks koostatud roheliste majade dekreet on lõpetanud oma seadusandliku protsessi…

Aprill 18 2024