tovar

Čo je Laravel Eloquent, ako ho používať, návod s príkladmi

Rámec Laravel PHP obsahuje Eloquent Object Relational Mapper (ORM), ktorý poskytuje mimoriadne jednoduchý spôsob komunikácie s databázou. 

Laravel a Eloquent pomáhajú urýchliť vývoj aplikácií a platforiem a poskytujú adekvátne riešenie väčšiny problémov. Požiadavky sa riešia rýchlejším vývojom, ako aj dobre organizovaným, opakovane použiteľným, udržiavateľným a škálovateľným kódom. 

Ako funguje Eloquent

Vývojári môžu pracovať Eloquent s viacerými databázami efektívne pomocou implementácie ActiveMethod. Ide o architektonický vzor, ​​kde model vytvorený v štruktúre Model-View-Controller (MVC) zodpovedá tabuľke v databáze. Výhodou je, že modely vykonávajú bežné databázové operácie bez kódovania dlhých SQL dotazov. Šablóny umožňujú dotazovať údaje v tabuľkách a vkladať do tabuliek nové záznamy. Proces synchronizácie viacerých databáz bežiacich na rôznych systémoch je zjednodušený. Nemusíte písať SQL dotazy. Všetko, čo musíte urobiť, je defiDokončite databázové tabuľky a vzťahy medzi nimi a Eloquent urobí zvyšok práce.

Príprava Laravelu

Oceniť užitočnosť Eloquent ORM a porozumieť ekosystému je nevyhnutnosťou. Kroky, ako začať:

  1. Nainštalujte Laravel z getcomposer.org, postupujte podľa pokynov tu
  2. tvorba migration pomocou konzoly Artisan
  3. Vytvorte šablóny eloquent
  4. spustiť i seed databázy

Artisan Console je názov rozhrania príkazového riadka zahrnutého v Laravel. Poskytuje súbor užitočných príkazov, ktoré môžete použiť pri vývoji vašej aplikácie. Je poháňaný výkonným komponentom Symfony Console.

Ak chcete zobraziť zoznam všetkých dostupných príkazov Artisan, môžete použiť príkaz list:

php artisan list

Všetky príkazy sa dodávajú so stručným popisom ich argumentov a možností. Toto je zobrazené na obrazovke „pomocníka“. Ak chcete zobraziť obrazovku pomocníka, jednoducho pred názov príkazu uveďte „help“, ako je znázornené:

php artisan help migrate

Migration

Migrácia je proces správy databázy napísaním PHP SQL. Poskytuje spôsob, ako pridať kontrolu verzií do databázy. 

Ak chcete vytvoriť migráciu, stačí spustiť nasledujúci príkaz:

php artisan make:migration create_student_records

Tým sa vytvorí migračný súbor. V textovom editore otvorte súbor, ktorý ste práve vytvorili v priečinku 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');
    }
}

Kód je trieda s rovnakým názvom 'create student records“ a má dve metódy: hore a dole. Metóda up by mala vykonať zmeny v databáze; takže vždy, keď migrujete svoju databázu, spustí sa akýkoľvek kód v metóde up. Na druhej strane, metóda down by mala vrátiť späť tieto zmeny databázy; takže kedykoľvek spustíte rollback z migration, metóda dole by mala vrátiť späť to, čo urobila metóda hore. Vo vnútri metódy up existuje nástroj na tvorbu schém, ktorý sa používa na vytváranie a manipuláciu s tabuľkami. Čo sa stane, ak zrušíte niektoré zo svojich migrácií? Všetko, čo musíte urobiť, je implementovať nasledujúci príkaz:

php artisan migrate:rollback

A zoženie aj posledné migration ktorá bola implementovaná. Databázu môžete tiež úplne obnoviť spustením:

php artisan migrate:reset

Týmto sa zrušia všetky vaše migrácie.

Defimodelov Eloquent

Po dokončení migrácie databázy nasleduje ďalší proces seedingEloquent prichádza do hry od r seeding vkladá záznamy do našej databázy. Pred naplnením databázy teda budete musieť vytvoriť šablóny. Každá tabuľka databázy má zodpovedajúci model, ktorý sa používa na interakciu s touto tabuľkou. Šablóny vám umožňujú dopytovať údaje vo vašich tabuľkách, ako aj vkladať nové záznamy do tabuľky. Najjednoduchší spôsob, ako vytvoriť inštanciu modelu, je použiť nasledujúci príkaz:

php artisan make:model Student
Príklad šablóny je uvedený nižšie Student, ktorý možno použiť na získanie a uloženie informácií z databázovej tabuľky nášho študenta:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Keď generujete model a zároveň chcete vygenerovať migráciu databázy, môžete použiť túto možnosť –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

signalizačné

Celkové sediace programy sú špeciálnou sadou tried, ktoré nám umožňujú napĺňať našu databázu znova a znova presne tými istými údajmi. Implementujeme nasledujúci príkaz:

php artisan make:seeder StudentsRecordSeeder

V textovom editore v priečinku semien otvorte novovytvorený súbor s názvom: StudentsRecordSeeder.php. Ako môžete vidieť, je to len veľmi jednoduchá trieda s jedinou nazývanou metódou run,

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

Kód je len obal okolo triedy príkazov konzoly, špeciálne vytvorený na pomoc s úlohou seeding. Upravte kód a potom ho uložte.

Inovačný bulletin
Nenechajte si ujsť najdôležitejšie novinky o inováciách. Prihláste sa na ich odber e-mailom.
public function run()
{
    echo 'Seeding!';
}

A prejdite na terminál:

php artisan db:seed --class=StudentsRecordSeeder

Teraz môžete vyplniť tabuľku niekoľkými položkami a spustiť:

php artisan db:seed --class=class=StudentsRecordSeeder

Tu môžete pokračovať v odstraňovaní, pridávaní, upravovaní záznamov v DB a potom ich obnovovať jednoduchým príkazom.

CRUD s Laravel Eloquent

Operácie CRUD s Laravel Eloquent objektovo-relačným mapovačom (ORM) uľahčujú vývojárom Laravelu prácu s viacerými databázami. Vykonáva operácie vytvárania, čítania, aktualizácie a odstraňovania (CRUD) a mapuje modely objektov na databázové tabuľky. Zvláda všetky interakcie databázy potrebné pre operácie CRUD.

Vytváranie záznamov

Na vloženie nového záznamu do databázy môžete použiť metódu ::create.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

Okrem jednoduchého spôsobu vytvárania uvedeného vyššie môžete tiež vytvoriť nový objekt a dať mu rôzne atribúty. Potom môžete zavolať funkciu save() a spustiť kód. Metódy ako firstOrCreate() alebo firstOrNew() sú ďalšie možnosti vytvárania záznamov. Tie vám umožnia nájsť študenta s určitými atribútmi; ak sa tento študent nenájde, vytvoríte ho v databáze alebo vytvoríte novú inštanciu.

Čítanie záznamov

Pomocou Eloquent ORM môžete nájsť záznamy vo svojej databáze. Dotazy sú jednoducho zostavené a ponúkajú plynulý tok. Ak chcete vytvoriť vyhlásenia:where, použijete metódy get() A first(). Metóda first() vráti iba jeden záznam, zatiaľ čo metóda get() vráti pole záznamov s možnosťou zacyklenia. Tiež metóda find() možno použiť s radom primárnych kľúčov, ktoré vrátia kolekciu zodpovedajúcich záznamov. Tu je niekoľko príkladov:

$student = Students::all();

Tento kód dostane všetkých študentov. Zatiaľ čo nasledujúci kód nájde konkrétneho študenta podľa ID:

$student = Študenti::find(1);

Ako je uvedené nižšie, kód tiež popisuje vyhľadávanie študenta na základe špecifického atribútu.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

Pre metódu get() tento kód ukazuje, ako nájsť študenta s úrovňou nad 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Aktualizácia záznamu

Aktualizácia záznamov pomocou Eloquent je rovnako jednoduchá. Ak chcete aktualizovať záznam, stačí nájsť záznam, ktorý chcete aktualizovať, upraviť atribúty a uložiť. Ak chcete napríklad zmeniť úroveň ročníka študenta Johna Doea na 5, najprv nájdite študenta a potom vykonajte metódu uloženia.

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

Metódu uloženia možno použiť aj na aktualizáciu modelov, ktoré už v databáze existujú.

Odstrániť záznamy

Eloquent sa môže pochváliť jednoduchým procesom aktualizácie záznamov, ale rovnaký príbeh má aj s vymazávaním. Existujú dve možnosti: vytiahnuť záznamy a spustiť metódu odstránenia alebo jednoducho použiť metódu zničiť. Ak chcete nájsť a odstrániť záznam, jednoducho spustite nasledujúce príkazy:

$student = Students::find(1);
$student->delete();

Na vymazanie záznamu a viacerých záznamov sa spustia príkazy:

Students::destroy(1);
Students::destroy(1, 2, 3);

Upozorňujeme, že parametre zničenia sú iba primárne kľúče na rozdiel od metódy vymazania, ktorá môže akceptovať akýkoľvek stĺpec databázy.

Ak chcete nájsť a odstrániť všetkých študentov nad úrovňou 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Inovačný bulletin
Nenechajte si ujsť najdôležitejšie novinky o inováciách. Prihláste sa na ich odber e-mailom.

Nedávne články

Výhody farebných stránok pre deti - svet mágie pre všetky vekové kategórie

Rozvíjanie jemnej motoriky pomocou vyfarbovania pripravuje deti na zložitejšie zručnosti, ako je písanie. Na farbenie…

2 mája 2024

Budúcnosť je tu: Ako námorný priemysel prináša revolúciu do globálnej ekonomiky

Námorný sektor je skutočnou globálnou ekonomickou veľmocou, ktorá smerovala k 150 miliardovému trhu...

1 mája 2024

Vydavatelia a OpenAI podpisujú dohody o regulácii toku informácií spracovávaných umelou inteligenciou

Minulý pondelok Financial Times oznámili dohodu s OpenAI. FT licencuje svoju žurnalistiku svetovej triedy…

Apríla 30 2024

Online platby: Takto budete vďaka streamovacím službám platiť navždy

Milióny ľudí platia za streamovacie služby a platia mesačné predplatné. Je bežný názor, že si…

Apríla 29 2024