Greinar

Hvað er Laravel Eloquent, hvernig á að nota það, einkatími með dæmum

Laravel PHP ramminn inniheldur Eloquent Object Relational Mapper (ORM), sem veitir afar auðvelda leið til að eiga samskipti við gagnagrunn. 

Laravel og Eloquent hjálpa til við að flýta fyrir þróun forrita og vettvangs og veita fullnægjandi lausn á flestum vandamálum. Tekið er á kröfum með hraðari þróun, sem og vel skipulögðum, endurnýtanlegum, viðhaldanlegum og skalanlegum kóða. 

Hvernig Eloquent virkar

Hönnuðir geta unnið í Eloquent með mörgum gagnagrunnum á skilvirkan hátt með því að nota ActiveMethod útfærslu. Það er byggingarmynstur þar sem líkanið sem er búið til í Model-View-Controller (MVC) uppbyggingu samsvarar töflu í gagnagrunninum. Kosturinn er sá að líkönin framkvæma algengar gagnagrunnsaðgerðir án þess að kóða langar SQL fyrirspurnir. Sniðmát gerir þér kleift að spyrjast fyrir um gögn í töflum og setja nýjar færslur inn í töflur. Ferlið við að samstilla marga gagnagrunna sem keyra á mismunandi kerfum er einfaldað. Þú þarft ekki að skrifa SQL fyrirspurnir. Allt sem þú þarft að gera er defiLjúktu við gagnagrunnstöflurnar og tengslin á milli þeirra og Eloquent mun sjá um restina af vinnunni.

Laravel undirbúningur

Nauðsynlegt er að meta gagnsemi Eloquent ORM og skilja vistkerfið. Skref til að byrja:

  1. Settu upp Laravel frá getcomposer.org, til að gera þetta skaltu fylgja leiðbeiningunum hér
  2. Búa til migration með því að nota stjórnborðið Artisan
  3. Búðu til sniðmát eloquent
  4. hlaupa i seed gagnagrunnsins

Artisan Console er nafnið á skipanalínuviðmótinu sem fylgir Laravel. Veitir safn af gagnlegum skipunum til að nota meðan þú þróar forritið þitt. Það er knúið áfram af öfluga íhlutnum Symfony Console.

Til að sjá lista yfir allar tiltækar Artisan skipanir geturðu notað listaskipunina:

php artisan list

Öllum skipunum fylgir hnitmiðuð lýsing á rökum þess og valkostum. Þetta er sýnt á „hjálp“ skjá. Til að sýna hjálparskjá skaltu einfaldlega fara á undan skipanafninu með „hjálp“ eins og sýnt er:

php artisan help migrate

Migration

Flutningur er gagnagrunnsstjórnunarferli með því að skrifa PHP í staðinn SQL. Veitir leið til að bæta útgáfustýringu við gagnagrunninn. 

Til að búa til flutning skaltu bara keyra eftirfarandi skipun:

php artisan make:migration create_student_records

Þetta býr til flutningsskrána. Í textaritlinum þínum skaltu opna skrána sem þú bjóst til í möppunni 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óðinn er flokkur með sama nafni 'create student records', og hefur tvær aðferðir: upp og niður. Upp aðferðin ætti að gera breytingar á gagnagrunninum; þannig að alltaf þegar þú flytur gagnagrunninn þinn verður hvaða kóða sem er í uppaðferðinni keyrður. Á hinn bóginn ætti niðuraðferðin að draga þessar gagnagrunnsbreytingar til baka; svo alltaf þegar þú keyrir rollback á migration, niður aðferðin ætti að afturkalla það sem upp aðferðin gerði. Inni í aðferðinni up það er skemasmiðurinn sem notaður er til að búa til og vinna með töflurnar. Hvað gerist ef þú hættir við sumar flutningana þína? Allt sem þú þarft að gera er að útfæra eftirfarandi skipun:

php artisan migrate:rollback

Og hann mun safna þeim síðasta migration sem komið hefur til framkvæmda. Einnig geturðu endurheimt gagnagrunninn algjörlega með því að keyra:

php artisan migrate:reset

Þetta mun hætta við alla flutninga þína.

Defition af gerðum af Eloquent

Eftir að flutningi gagnagrunnsins er lokið er næsta ferli seedingEloquent kemur við sögu síðan seeding er að setja gögn inn í gagnagrunninn okkar. Svo þú þarft að búa til sniðmátin áður en þú fyllir út gagnagrunninn. Hver gagnagrunnstafla hefur samsvarandi líkan sem er notað til að hafa samskipti við þá töflu. Sniðmát gerir þér kleift að spyrjast fyrir um gögnin í töflunum þínum, auk þess að setja nýjar færslur inn í töfluna. Auðveldasta leiðin til að stofna líkanið er að nota eftirfarandi skipun:

php artisan make:model Student
Dæmi um sniðmát er sýnt hér að neðan Student, sem hægt er að nota til að sækja og geyma upplýsingar úr gagnagrunnstöflu nemenda okkar:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Þegar þú býrð til líkan og á sama tíma vilt þú búa til gagnagrunnsflutning geturðu notað valkostinn –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

Plöntur

Heildarsáendur eru sérstakt sett af flokkum sem gera okkur kleift að fylla gagnagrunninn okkar aftur og aftur með nákvæmlega sömu gögnunum. Við innleiðum eftirfarandi skipun:

php artisan make:seeder StudentsRecordSeeder

Í textaritlinum, undir fræmöppunni, opnaðu nýstofnaða skrá með skráarnafni: StudentsRecordSeeder.php. Eins og þú sérð er þetta bara mjög einfaldur flokkur með einni aðferð sem kallast run,

<?php
use IlluminateDatabaseSeeder;

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

    public function run()
    {
        //
    }
}

Kóðinn er bara umbúðir utan um stjórnborðsstjórnunarflokk, sérstaklega smíðaður til að hjálpa við verkefnið seeding. Breyttu kóðanum og vistaðu hann síðan.

Nýsköpunarfréttabréf
Ekki missa af mikilvægustu fréttunum um nýsköpun. Skráðu þig til að fá þau með tölvupósti.
public function run()
{
    echo 'Seeding!';
}

Og að fara á flugstöðina:

php artisan db:seed --class=StudentsRecordSeeder

Nú geturðu fyllt töfluna með nokkrum færslum og keyrt:

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

Hér getur þú haldið áfram að eyða, bæta við, breyta færslum í DB og endurheimta þær síðan með einfaldri skipun.

CRUD með Laravel Eloquent

CRUD aðgerðir með Laravel Eloquent Object- Relational Mapper (ORM) auðvelda Laravel verktaki að vinna með marga gagnagrunna. Það framkvæmir aðgerðir til að búa til, lesa, uppfæra og eyða (CRUD) og kortleggja hlutlíkön í gagnagrunnstöflur. Tekur við öllum gagnasafnssamskiptum sem krafist er fyrir CRUD aðgerðir.

Gerð skjala

Þú getur notað ::create aðferðina til að setja nýja færslu inn í gagnagrunninn.

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

Til viðbótar við einföldu sköpunaraðferðina sem sýnd er hér að ofan geturðu líka búið til nýjan hlut og gefið honum mismunandi eiginleika. Síðan geturðu hringt í save() aðgerðina og keyrt kóðann. Aðferðir eins og firstOrCreate() eða firstOrNew() eru aðrir möguleikar til að búa til færslur. Þetta mun leyfa þér að finna nemanda með ákveðna eiginleika; ef þessi nemandi finnst ekki muntu búa hann til í gagnagrunninum eða setja upp nýtt tilvik.

Að lesa skrár

Með því að nota Eloquent ORM geturðu fundið skrár í gagnagrunninum þínum. Fyrirspurnirnar eru einfaldlega smíðaðar og bjóða upp á slétt flæði. Til að búa til yfirlýsingar::where, þú munt nota aðferðirnar get() Og first(). Aðferðin first() mun aðeins skila einni skrá, en aðferðin get() mun skila lykkjanlegu fylki af skrám. Einnig aðferðin find() er hægt að nota með fjölda aðallykla, sem mun skila safni af samsvarandi skrám. Hér eru nokkur dæmi:

$student = Students::all();

Þessi kóða fær alla nemendur. Þó að eftirfarandi kóði finnur tiltekinn nemanda með auðkenni:

$student = Nemendur::finna(1);

Einnig, eins og sýnt er hér að neðan, lýsir kóðinn leit að nemanda út frá tilteknum eiginleikum.

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

Fyrir get() aðferðina sýnir þessi kóði hvernig á að finna nemanda með stig yfir 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Uppfærsla uppfærslu

Það er jafn einfalt að uppfæra færslur með Eloquent. Til að uppfæra færslu skaltu bara finna færsluna sem þú vilt uppfæra, breyta eigindunum og vista. Til dæmis, til að breyta einkunnastigi nemandans John Doe í 5 skaltu fyrst finna nemandann og framkvæma síðan vistunaraðferðina.

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

Einnig er hægt að nota vistunaraðferðina til að uppfæra líkön sem þegar eru til í gagnagrunninum.

Eyða skrám

Eloquent státar af auðveldu uppfærsluferlinu, en það hefur sömu sögu með eyðingu. Það eru tveir valkostir: draga út færslur og framkvæma eyðingaraðferðina, eða einfaldlega nota eyðileggingaraðferðina. Til að finna og eyða færslu skaltu einfaldlega keyra eftirfarandi skipanir:

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

Til að eyða færslu og mörgum færslum eru skipanirnar keyrðar:

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

Athugaðu að færibreytur eyðileggja eru aðeins aðallyklar ólíkt eyðingaraðferðinni sem getur samþykkt hvaða gagnagrunnsdálka sem er.

Til að finna og eyða öllum nemendum fyrir ofan 10. stig.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Nýsköpunarfréttabréf
Ekki missa af mikilvægustu fréttunum um nýsköpun. Skráðu þig til að fá þau með tölvupósti.

Nýlegar greinar

Útgefendur og OpenAI skrifa undir samninga um að stjórna flæði upplýsinga sem unnið er með gervigreind

Síðasta mánudag tilkynnti Financial Times um samning við OpenAI. FT leyfir heimsklassa blaðamennsku…

30 Apríl 2024

Greiðslur á netinu: Hér er hvernig streymisþjónusta gerir þér kleift að borga að eilífu

Milljónir manna borga fyrir streymisþjónustu og greiða mánaðarlega áskriftargjöld. Það er almenn skoðun að þú…

29 Apríl 2024

Veeam býður upp á umfangsmesta stuðninginn fyrir lausnarhugbúnað, allt frá vernd til viðbragða og bata

Coveware frá Veeam mun halda áfram að veita viðbragðsþjónustu fyrir tölvukúgun. Coveware mun bjóða upp á réttar- og úrbótamöguleika ...

23 Apríl 2024

Græn og stafræn bylting: Hvernig forspárviðhald er að umbreyta olíu- og gasiðnaðinum

Forspárviðhald er að gjörbylta olíu- og gasgeiranum, með nýstárlegri og fyrirbyggjandi nálgun við verksmiðjustjórnun.…

22 Apríl 2024