Artikuj

Çfarë është Laravel Eloquent, si ta përdorim atë, tutorial me shembuj

Korniza Laravel PHP përfshin Eloquent Object Relational Mapper (ORM), e cila ofron një mënyrë jashtëzakonisht të thjeshtë për të komunikuar me një bazë të dhënash. 

Laravel dhe Eloquent ndihmojnë në përshpejtimin e zhvillimit të aplikacionit dhe platformës, duke ofruar një zgjidhje adekuate për shumicën e problemeve. Kërkesat adresohen me zhvillim më të shpejtë, si dhe me kod të organizuar mirë, të ripërdorshëm, të mirëmbajtur dhe të shkallëzuar. 

Si funksionon Eloquent

Zhvilluesit mund të punojnë në Eloquent me baza të të dhënave të shumta duke përdorur në mënyrë efikase një implementim ActiveMethod. Është një model arkitektonik ku modeli i krijuar në strukturën Model-View-Controller (MVC) korrespondon me një tabelë në bazën e të dhënave. Avantazhi është se modelet kryejnë operacione të zakonshme të bazës së të dhënave pa koduar pyetje të gjata SQL. Modelet ju lejojnë të kërkoni të dhëna në tabela dhe të futni regjistrime të reja në tabela. Procesi i sinkronizimit të bazave të të dhënave të shumta që funksionojnë në sisteme të ndryshme është thjeshtuar. Ju nuk keni nevojë të shkruani pyetje SQL. Gjithçka që duhet të bëni është defiPërfundoni tabelat e bazës së të dhënave dhe marrëdhëniet midis tyre dhe Eloquent do të bëjë pjesën tjetër të punës.

Përgatitja e Laravel

Të vlerësosh dobinë e ORM Eloquent dhe të kuptosh ekosistemin është një domosdoshmëri. Hapat për të filluar:

  1. Instaloni Laravel nga getcomposer.org, për ta bërë këtë ndiqni udhëzimet këtu
  2. Krijo migration duke përdorur konsolën Artisan
  3. Krijo shabllone eloquent
  4. vrapoj i seed të bazës së të dhënave

Artisan Console është emri i ndërfaqes së linjës komanduese të përfshirë në Laravel. Ofron një grup komandash të dobishme për t'u përdorur gjatë zhvillimit të aplikacionit tuaj. Ajo drejtohet nga komponenti i fuqishëm Symfony Console.

Për të parë një listë të të gjitha komandave të disponueshme Artisan, mund të përdorni komandën list:

php artisan list

Të gjitha komandat vijnë me një përshkrim konciz të argumenteve dhe opsioneve të tij. Kjo tregohet në një ekran "ndihmë". Për të shfaqur një ekran ndihme, thjesht paraprini emrin e komandës me "ndihmë" siç tregohet:

php artisan help migrate

Migration

Migrimi është një proces i menaxhimit të bazës së të dhënave duke shkruar në vend të kësaj PHP SQL. Ofron një mënyrë për të shtuar kontrollin e versionit në bazën e të dhënave. 

Për të krijuar një migrim, thjesht ekzekutoni komandën e mëposhtme:

php artisan make:migration create_student_records

Kjo krijon skedarin e migrimit. Në redaktorin tuaj të tekstit, hapni skedarin që sapo krijuat në dosje 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');
    }
}

Kodi është një klasë me të njëjtin emër 'create student records', dhe ka dy metoda: lart dhe poshtë. Metoda up duhet të bëjë ndryshime në bazën e të dhënave; kështu që sa herë që migroni bazën tuaj të të dhënave, çdo kod në metodën lart do të ekzekutohet. Nga ana tjetër, metoda poshtë duhet të rikthejë ato ndryshime të bazës së të dhënave; kështu që sa herë që drejtoni rollback i migration, metoda poshtë duhet të zhbëjë atë që bëri metoda lart. Brenda metodës up ekziston ndërtuesi i skemave që përdoret për të krijuar dhe manipuluar tabelat. Çfarë ndodh nëse anuloni disa nga migrimet tuaja? Gjithçka që duhet të bëni është të zbatoni komandën e mëposhtme:

php artisan migrate:rollback

Dhe ai do të mbledhë të fundit migration e cila është zbatuar. Gjithashtu, ju mund të rivendosni plotësisht bazën e të dhënave duke ekzekutuar:

php artisan migrate:reset

Kjo do të anulojë të gjitha migrimet tuaja.

Defition i modeleve të Eloquent

Pasi të përfundojë migrimi i bazës së të dhënave, procesi tjetër është seedingEloquent hyn në lojë që nga seeding po fut të dhënat në bazën tonë të të dhënave. Pra, do t'ju duhet të krijoni shabllonet përpara se të mbushni bazën e të dhënave. Çdo tabelë e bazës së të dhënave ka një model përkatës i cili përdoret për të bashkëvepruar me atë tabelë. Modelet ju lejojnë të kërkoni të dhënat në tabelat tuaja, si dhe të futni regjistrime të reja në tabelë. Mënyra më e lehtë për të instancuar modelin është të përdorni komandën e mëposhtme:

php artisan make:model Student
Një shembull i një shablloni është paraqitur më poshtë Student, i cili mund të përdoret për të tërhequr dhe ruajtur informacionin nga tabela e bazës së të dhënave të studentëve tanë:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Kur gjeneroni një model dhe në të njëjtën kohë dëshironi të gjeneroni një migrim të bazës së të dhënave, mund të përdorni opsionin –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

Mbjellësit

Mbajtësit e përgjithshëm janë një grup i veçantë klasash që na lejojnë të mbushim bazën tonë të të dhënave pa pushim me të njëjtat të dhëna. Ne zbatojmë komandën e mëposhtme:

php artisan make:seeder StudentsRecordSeeder

Në redaktuesin e tekstit, nën dosjen e farave, hapni skedarin e krijuar rishtazi me emrin e skedarit: StudentsRecordSeeder.php. Siç mund ta shihni, kjo është vetëm një klasë shumë e thjeshtë me një metodë të vetme të quajtur run()

<?php
use IlluminateDatabaseSeeder;

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

    public function run()
    {
        //
    }
}

Kodi është thjesht një mbështjellës rreth një klase komandimi të konsolës, i ndërtuar posaçërisht për të ndihmuar me detyrën e seeding. Ndryshoni kodin dhe më pas ruajeni.

Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.
public function run()
{
    echo 'Seeding!';
}

Dhe duke shkuar në terminal:

php artisan db:seed --class=StudentsRecordSeeder

Tani mund ta plotësoni tabelën me disa hyrje dhe të ekzekutoni:

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

Këtu mund të vazhdoni të fshini, shtoni, modifikoni hyrjet në DB dhe më pas t'i rivendosni ato me një komandë të thjeshtë.

CRUD me Laravel Eloquent

Operacionet CRUD me Laravel Eloquent relacional-objekt-mapper (ORM) e bëjnë më të lehtë për zhvilluesit e Laravel të punojnë me baza të të dhënave të shumta. Ai kryen operacione të krijimit, leximit, përditësimit dhe fshirjes (CRUD) dhe harton modelet e objekteve në tabelat e bazës së të dhënave. Trajton të gjitha ndërveprimet e bazës së të dhënave të kërkuara për operacionet CRUD.

Krijimi i të dhënave

Ju mund të përdorni metodën ::create për të futur një rekord të ri në bazën e të dhënave.

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

Përveç metodës së thjeshtë të krijimit të treguar më sipër, ju gjithashtu mund të krijoni një objekt të ri dhe t'i jepni atij atribute të ndryshme. Më pas, mund të telefononi funksionin save() dhe të ekzekutoni kodin. Metodat si firstOrCreate() ose firstOrNew() janë opsione të tjera për krijimin e regjistrimeve. Këto do t'ju lejojnë të gjeni një student me atribute të caktuara; nëse ai student nuk gjendet, ju do ta krijoni atë në bazën e të dhënave ose do të instantoni një shembull të ri.

Leximi i të dhënave

Duke përdorur Eloquent ORM, mund të gjeni regjistrime në bazën e të dhënave tuaja. Pyetjet janë ndërtuar thjesht dhe ofrojnë një rrjedhë të qetë. Për të krijuar deklarata:where, do të përdorni metodat get() Dhe first(). Metoda first() do të kthejë vetëm një rekord, ndërsa metoda get() do të kthejë një grup rekordesh të paqartë. Gjithashtu, metoda find() mund të përdoret me një grup çelësash kryesorë, të cilët do të kthejnë një koleksion të të dhënave që përputhen. Ketu jane disa shembuj:

$student = Students::all();

Ky kod merr të gjithë studentët. Ndërsa kodi i mëposhtëm gjen një student specifik me ID:

$student = Studentët::find(1);

Gjithashtu, siç tregohet më poshtë, kodi përshkruan kërkimin e një studenti bazuar në një atribut specifik.

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

Për metodën get(), ky kod tregon se si të gjesh një student me një nivel mbi 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Regjistro përditësimin

Përditësimi i të dhënave duke përdorur Eloquent është po aq i lehtë. Për të përditësuar një rekord, thjesht gjeni rekordin që dëshironi të përditësoni, modifikoni atributet dhe ruani. Për shembull, për të ndryshuar nivelin e notës së studentit të John Doe në 5, së pari gjeni studentin dhe më pas ekzekutoni metodën e ruajtjes.

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

Metoda e ruajtjes mund të përdoret gjithashtu për të përditësuar modelet që ekzistojnë tashmë në bazën e të dhënave.

Fshij të dhënat

Eloquent krenohet me procesin e tij të lehtë të përditësimit të të dhënave, por ka të njëjtën histori me fshirjen. Ekzistojnë dy opsione: tërhiqeni të dhënat dhe të ekzekutoni metodën e fshirjes, ose thjesht të përdorni metodën e shkatërrimit. Për të gjetur dhe fshirë një rekord, thjesht ekzekutoni komandat e mëposhtme:

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

Për të fshirë një rekord dhe regjistrime të shumta, ekzekutohen komandat:

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

Vini re se parametrat e shkatërrimit janë vetëm çelësat kryesorë ndryshe nga metoda e fshirjes e cila mund të pranojë çdo kolonë të bazës së të dhënave.

Për të gjetur dhe fshirë të gjithë studentët mbi nivelin 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.

Artikujt e fundit

Ndërhyrje novatore në realitetin e shtuar, me një shikues Apple në Poliklinikën Catania

Një operacion oftalmoplastik duke përdorur shikuesin komercial Apple Vision Pro u krye në Poliklinikën Catania…

3 Maj 2024

Përfitimet e Faqeve të Ngjyrosjes për Fëmijë - një botë magjike për të gjitha moshat

Zhvillimi i aftësive të shkëlqyera motorike përmes ngjyrosjes i përgatit fëmijët për aftësi më komplekse si shkrimi. Për të ngjyrosur…

2 Maj 2024

E ardhmja është këtu: Si industria e transportit po revolucionarizon ekonominë globale

Sektori detar është një fuqi e vërtetë ekonomike globale, e cila ka lundruar drejt një tregu prej 150 miliardë...

1 Maj 2024

Botuesit dhe OpenAI nënshkruajnë marrëveshje për të rregulluar rrjedhën e informacionit të përpunuar nga Inteligjenca Artificiale

Të hënën e kaluar, Financial Times njoftoi një marrëveshje me OpenAI. FT licencon gazetarinë e saj të klasit botëror…

30 Prill 2024