Artikkelit

Mikä on Laravel Eloquent, miten sitä käytetään, opetusohjelma esimerkkeineen

Laravel PHP -kehys sisältää Eloquent Object Relational Mapperin (ORM), joka tarjoaa erittäin helpon tavan kommunikoida tietokannan kanssa. 

Laravel ja Eloquent auttavat nopeuttamaan sovellusten ja alustan kehitystä tarjoten riittävän ratkaisun useimpiin ongelmiin. Vaatimuksiin vastataan nopeammalla kehityksellä sekä hyvin organisoidulla, uudelleenkäytettävällä, ylläpidettävällä ja skaalautuvalla koodilla. 

Kuinka Eloquent toimii

Kehittäjät voivat työskennellä Eloquent useiden tietokantojen kanssa tehokkaasti ActiveMethod-toteutuksen avulla. Se on arkkitehtoninen malli, jossa Model-View-Controller (MVC) -rakenteessa luotu malli vastaa tietokannan taulukkoa. Etuna on, että mallit suorittavat yleisiä tietokantatoimintoja koodaamatta pitkiä SQL-kyselyjä. Mallien avulla voit kysyä tietoja taulukoista ja lisätä uusia tietueita taulukoihin. Useiden eri järjestelmissä olevien tietokantojen synkronointiprosessi on yksinkertaistettu. Sinun ei tarvitse kirjoittaa SQL-kyselyitä. Sinun tarvitsee vain defiViimeistele tietokantataulukot ja niiden väliset suhteet, niin Eloquent hoitaa loput työt.

Laravelin valmistelu

Eloquent ORM:n hyödyn arvostaminen ja ekosysteemin ymmärtäminen on välttämätöntä. Aloitusohjeet:

  1. Asenna Laravel osoitteesta getcomposer.org. Noudata tässä olevia ohjeita
  2. Luominen migration konsolin avulla Artisan
  3. Luo malleja eloquent
  4. juokse i seed tietokannasta

Artisan Console on Laraveliin sisältyvän komentoriviliittymän nimi. Tarjoaa joukon hyödyllisiä komentoja, joita voit käyttää sovellustasi kehitettäessä. Sitä ohjaa tehokas komponentti Symfony Console.

Jos haluat nähdä luettelon kaikista käytettävissä olevista Artisan-komennoista, voit käyttää lista-komentoa:

php artisan list

Kaikkien komentojen mukana tulee lyhyt kuvaus sen argumenteista ja vaihtoehdoista. Tämä näkyy "ohje"-näytössä. Saat ohjenäytön näkyviin kirjoittamalla komennon nimen eteen "help" kuvan osoittamalla tavalla:

php artisan help migrate

Migration

Siirtyminen on tietokannan hallintaprosessi kirjoittamalla sen sijaan PHP SQL. Tarjoaa tavan lisätä versionhallinta tietokantaan. 

Luo siirto suorittamalla seuraava komento:

php artisan make:migration create_student_records

Tämä luo siirtotiedoston. Avaa tekstieditorissa kansioon juuri luomasi tiedosto 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');
    }
}

Koodi on luokka, jolla on sama nimi 'create student records', ja siinä on kaksi tapaa: ylös ja alas. Up-menetelmän tulisi tehdä muutoksia tietokantaan; joten aina kun siirrät tietokannan, kaikki ylös-menetelmän koodit suoritetaan. Toisaalta alas-menetelmän pitäisi peruuttaa tietokantamuutokset; joten aina kun käytät rollback ja migration, alas-menetelmän pitäisi kumota ylös-menetelmän tekemä. Menetelmän sisällä up on skeeman rakentaja, jota käytetään taulukoiden luomiseen ja käsittelemiseen. Mitä tapahtuu, jos peruutat osan siirroistasi? Sinun tarvitsee vain toteuttaa seuraava komento:

php artisan migrate:rollback

Ja hän kerää viimeisen migration joka on toteutettu. Voit myös palauttaa tietokannan kokonaan suorittamalla:

php artisan migrate:reset

Tämä peruuttaa kaikki siirrosi.

Defimalleja Eloquent

Kun tietokannan siirto on valmis, seuraava prosessi on seedingEloquent tulee peliin vuodesta lähtien seeding lisää tietueita tietokantaamme. Joten sinun on luotava mallit ennen tietokannan täyttämistä. Jokaisella tietokantataulukolla on vastaava malli, jota käytetään vuorovaikutuksessa kyseisen taulukon kanssa. Mallien avulla voit tehdä kyselyitä taulukoidesi tiedoista sekä lisätä uusia tietueita taulukkoon. Helpoin tapa luoda malli on käyttää seuraavaa komentoa:

php artisan make:model Student
Alla on esimerkki mallista Student, jota voidaan käyttää tietojen hakemiseen ja tallentamiseen opiskelijamme tietokantataulukosta:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Kun luot mallin ja haluat samanaikaisesti luoda tietokannan siirron, voit käyttää vaihtoehtoa –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

Kylvökoneet

Yleiskylvökoneet ovat erityinen sarja luokkia, joiden avulla voimme täyttää tietokantaamme yhä uudelleen ja uudelleen täsmälleen samoilla tiedoilla. Toteutamme seuraavan komennon:

php artisan make:seeder StudentsRecordSeeder

Avaa tekstieditorissa siemenkansion alla juuri luotu tiedosto tiedostonimellä: StudentsRecordSeeder.php. Kuten näet, tämä on vain hyvin yksinkertainen luokka, jossa on yksi menetelmä nimeltä run().

<?php
use IlluminateDatabaseSeeder;

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

    public function run()
    {
        //
    }
}

Koodi on vain kääre konsolin komentoluokan ympärille, joka on erityisesti suunniteltu auttamaan tehtävässä seeding. Muokkaa koodia ja tallenna se.

Innovaatio-uutiskirje
Älä missaa tärkeimpiä innovaatioita koskevia uutisia. Rekisteröidy saadaksesi ne sähköpostitse.
public function run()
{
    echo 'Seeding!';
}

Ja menemällä terminaaliin:

php artisan db:seed --class=StudentsRecordSeeder

Nyt voit täyttää taulukon merkinnöillä ja suorittaa:

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

Täällä voit jatkaa tietokannan merkintöjen poistamista, lisäämistä, muokkaamista ja sitten palauttamista yksinkertaisella komennolla.

CRUD ja Laravel Eloquent

CRUD-toiminnot Laravel Eloquent Object-relational Mapper (ORM) -sovelluksella helpottavat Laravel-kehittäjien työskentelyä useiden tietokantojen kanssa. Se suorittaa luonti-, luku-, päivitys- ja poistotoimintoja (CRUD) ja kartoittaa objektimalleja tietokantataulukoihin. Käsittelee kaikki CRUD-toimintojen edellyttämät tietokantavuorovaikutukset.

Tietueiden luominen

Voit lisätä uuden tietueen tietokantaan menetelmällä ::create.

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

Yllä esitetyn yksinkertaisen luontimenetelmän lisäksi voit myös luoda uuden objektin ja antaa sille erilaisia ​​määritteitä. Sitten voit kutsua save()-funktion ja suorittaa koodin. Menetelmät kuten firstOrCreate() tai firstOrNew() ovat muita vaihtoehtoja tietueiden luomiseen. Näiden avulla voit löytää opiskelijan, jolla on tietyt ominaisuudet; Jos kyseistä opiskelijaa ei löydy, luot sen tietokantaan tai luot uuden ilmentymän.

Tietueiden lukeminen

Eloquent ORM:n avulla voit etsiä tietueita tietokannastasi. Kyselyt ovat yksinkertaisesti rakennettuja ja tarjoavat sujuvan kulun. Lausuntojen luominen:where, käytät menetelmiä get() Ja first(). Menetelmä first() palauttaa vain yhden tietueen, kun taas menetelmä get() palauttaa silmukoitavan tietueiden joukon. Myös menetelmä find() voidaan käyttää joukon perusavaimia, jotka palauttavat kokoelman vastaavia tietueita. Tässä muutamia esimerkkejä:

$student = Students::all();

Tämä koodi saa kaikki opiskelijat. Seuraava koodi löytää tietyn opiskelijan tunnuksella:

$opiskelija = Opiskelijat::find(1);

Lisäksi, kuten alla näkyy, koodi kuvaa opiskelijan etsimistä tietyn määritteen perusteella.

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

Get()-menetelmälle tämä koodi näyttää, kuinka löytää opiskelija, jonka taso on yli 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Tallenteen päivitys

Tietueiden päivittäminen Eloquentilla on yhtä helppoa. Voit päivittää tietueen etsimällä päivitettävän tietueen, muokkaamalla määritteitä ja tallentamalla. Jos esimerkiksi haluat muuttaa John Doen oppilaan arvosanan 5:ksi, etsi ensin oppilas ja suorita sitten tallennusmenetelmä.

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

Tallennusmenetelmää voidaan käyttää myös tietokannassa jo olevien mallien päivittämiseen.

Poista tietueet

Eloquent ylpeilee helposta tietueiden päivitysprosessistaan, mutta sillä on sama tarina poistamisen kanssa. Vaihtoehtoja on kaksi: vedä tietueet ulos ja suorita poistomenetelmä tai käytä yksinkertaisesti tuhoamismenetelmää. Voit etsiä ja poistaa tietueen suorittamalla seuraavat komennot:

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

Tietueen ja useiden tietueiden poistamiseksi suoritetaan komennot:

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

Huomaa, että tuhoamisparametrit ovat vain ensisijaisia ​​avaimia, toisin kuin poistomenetelmä, joka voi hyväksyä minkä tahansa tietokannan sarakkeen.

Voit etsiä ja poistaa kaikki tason 10 opiskelijat.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Innovaatio-uutiskirje
Älä missaa tärkeimpiä innovaatioita koskevia uutisia. Rekisteröidy saadaksesi ne sähköpostitse.

Viimeaikaiset artikkelit

Veeam tarjoaa kattavimman tuen kiristysohjelmille suojauksesta vastaukseen ja palautukseen

Veeamin Coveware tarjoaa jatkossakin kyberkiristystapahtumien reagointipalveluita. Coveware tarjoaa rikosteknisiä ja korjaavia ominaisuuksia…

Huhtikuu 23 2024

Vihreä ja digitaalinen vallankumous: Kuinka ennakoiva huolto muuttaa öljy- ja kaasuteollisuutta

Ennakoiva huolto mullistaa öljy- ja kaasualan innovatiivisella ja ennakoivalla lähestymistavalla laitosten hallintaan.…

Huhtikuu 22 2024

Ison-Britannian kilpailuviranomainen herättää BigTech-hälytyksen GenAI:sta

Britannian CMA on antanut varoituksen Big Techin käyttäytymisestä tekoälymarkkinoilla. Siellä…

Huhtikuu 18 2024

Casa Green: energiavallankumous kestävän tulevaisuuden puolesta Italiassa

Euroopan unionin rakennusten energiatehokkuuden parantamiseksi laatima "Green Houses" -asetus on saanut lainsäädäntöprosessinsa päätökseen…

Huhtikuu 18 2024