Laravel-ը և Eloquent-ն օգնում են արագացնել հավելվածների և պլատֆորմի զարգացումը` ապահովելով խնդիրների մեծ մասի համարժեք լուծում: Պահանջները լուծվում են ավելի արագ մշակմամբ, ինչպես նաև լավ կազմակերպված, բազմակի օգտագործման, պահպանվող և մասշտաբային կոդով:
Մշակողները կարող են աշխատել Eloquent
մի քանի տվյալների բազաներով՝ արդյունավետորեն օգտագործելով ActiveMethod իրականացումը: Դա ճարտարապետական օրինաչափություն է, որտեղ Model-View-Controller (MVC) կառուցվածքում ստեղծված մոդելը համապատասխանում է տվյալների բազայի աղյուսակին: Առավելությունն այն է, որ մոդելները կատարում են տվյալների բազայի ընդհանուր գործողություններ՝ առանց երկար SQL հարցումների կոդավորման: Կաղապարները թույլ են տալիս հարցումներ կատարել աղյուսակներում և նոր գրառումներ տեղադրել աղյուսակներում: Պարզեցված է տարբեր համակարգերում աշխատող բազմաթիվ տվյալների բազաների համաժամացման գործընթացը: Ձեզ հարկավոր չէ գրել SQL հարցումներ: Ձեզ մնում է միայն defiԱվարտեք տվյալների բազայի աղյուսակները և դրանց միջև եղած հարաբերությունները, և Eloquent-ը կկատարի մնացած աշխատանքը:
Eloquent ORM-ի օգտակարությունը գնահատելը և էկոհամակարգը հասկանալը պարտադիր է: Սկսելու քայլեր.
migration
օգտագործելով վահանակը Artisan
eloquent
seed
տվյալների բազայիArtisan Console
Laravel-ում ներառված հրամանի տողի ինտերֆեյսի անվանումն է: Տրամադրում է մի շարք օգտակար հրամաններ՝ օգտագործելու ձեր հավելվածը մշակելիս: Այն առաջնորդվում է հզոր բաղադրիչով Symfony Console
.
Բոլոր հասանելի Artisan հրամանների ցանկը տեսնելու համար կարող եք օգտագործել ցուցակի հրամանը.
php artisan list
Բոլոր հրամանները գալիս են դրա փաստարկների և տարբերակների հակիրճ նկարագրությամբ: Սա ցուցադրվում է «օգնության» էկրանին: Օգնության էկրանը ցուցադրելու համար պարզապես հրամանի անունից առաջ անցեք «օգնություն», ինչպես ցույց է տրված.
php artisan help migrate
Migration
Միգրացիան տվյալների բազայի կառավարման գործընթաց է՝ փոխարենը գրելով PHP SQL
. Տրամադրում է տարբերակի վերահսկում տվյալների բազան ավելացնելու միջոց:
Միգրացիա ստեղծելու համար պարզապես գործարկեք հետևյալ հրամանը.
php artisan make:migration create_student_records
Սա ստեղծում է միգրացիոն ֆայլը: Ձեր տեքստային խմբագրիչում բացեք հենց նոր ստեղծված ֆայլը թղթապանակում 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');
}
}
Կոդը նույն անունով դաս է.create student records
', և ունի երկու մեթոդ՝ վեր և վար: Up մեթոդը պետք է փոփոխություններ կատարի տվյալների բազայում. այնպես որ, երբ դուք տեղափոխում եք ձեր տվյալների բազան, վերև մեթոդի ցանկացած կոդ կկատարվի: Մյուս կողմից, ներքև մեթոդը պետք է հետ դարձնի տվյալների բազայի փոփոխությունները. այնպես որ, երբ դուք վազում եք rollback
- ից migration
, ներքեւ մեթոդը պետք է չեղարկի այն, ինչ արեց վերև մեթոդը: Մեթոդի ներսում up
կա սխեմաների ստեղծող, որն օգտագործվում է աղյուսակները ստեղծելու և շահարկելու համար: Ի՞նչ կլինի, եթե չեղարկեք ձեր միգրացիաներից մի քանիսը: Ձեզ մնում է միայն իրականացնել հետևյալ հրամանը.
php artisan migrate:rollback
Եվ նա կհավաքի վերջինը migration
որն իրականացվել է։ Նաև կարող եք ամբողջությամբ վերականգնել տվյալների բազան՝ գործարկելով.
php artisan migrate:reset
Սա կչեղարկի ձեր բոլոր միգրացիաները:
Eloquent
Տվյալների բազայի միգրացիայի ավարտից հետո հաջորդ գործընթացը հետևյալն է seeding
. Eloquent
մտնում է խաղի մեջ, քանի որ seeding
գրառումներ է տեղադրում մեր տվյալների բազայում: Այսպիսով, դուք պետք է ստեղծեք ձևանմուշները՝ նախքան տվյալների բազան համալրելը: Տվյալների բազայի յուրաքանչյուր աղյուսակ ունի համապատասխան մոդել, որն օգտագործվում է այդ աղյուսակի հետ փոխազդելու համար: Կաղապարները թույլ են տալիս հարցումներ կատարել ձեր աղյուսակների տվյալների վրա, ինչպես նաև տեղադրել նոր գրառումներ աղյուսակում: Մոդելը օրինակելի դարձնելու ամենահեշտ ձևը հետևյալ հրամանն օգտագործելն է.
php artisan make:model Student
Կաղապարի օրինակը ներկայացված է ստորև Student
, որը կարող է օգտագործվել մեր ուսանողի տվյալների բազայի աղյուսակից տեղեկատվությունը առբերելու և պահելու համար.
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Երբ դուք ստեղծում եք մոդել և միևնույն ժամանակ ցանկանում եք ստեղծել տվյալների բազայի միգրացիա, կարող եք օգտագործել տարբերակը –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Ընդհանուր սերմանիչները դասերի հատուկ հավաքածու են, որոնք թույլ են տալիս մեզ նորից ու նորից համալրել մեր տվյալների բազան ճիշտ նույն տվյալներով: Մենք իրականացնում ենք հետևյալ հրամանը.
php artisan make:seeder StudentsRecordSeeder
Տեքստի խմբագրում, սերմերի թղթապանակի տակ, բացեք նոր ստեղծված ֆայլը ֆայլի անունով. StudentsRecordSeeder.php
. Ինչպես տեսնում եք, սա պարզապես շատ պարզ դաս է մեկ մեթոդով, որը կոչվում է run
()
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Կոդը պարզապես փաթաթված է վահանակի հրամանների դասի շուրջ, որը հատուկ կառուցված է առաջադրանքը կատարելու համար seeding
. Խմբագրել կոդը, ապա պահպանել այն:
public function run()
{
echo 'Seeding!';
}
Եվ գնալով տերմինալ.
php artisan db:seed --class=StudentsRecordSeeder
Այժմ դուք կարող եք լրացնել աղյուսակը որոշ գրառումներով և գործարկել.
php artisan db:seed --class=class=StudentsRecordSeeder
Այստեղ դուք կարող եք շարունակել ջնջել, ավելացնել, փոփոխել գրառումները DB-ում, այնուհետև վերականգնել դրանք պարզ հրամանով:
CRUD գործողությունները Laravel Eloquent օբյեկտ-առաբերական քարտեզագրիչով (ORM) հեշտացնում են Laravel մշակողների համար աշխատել բազմաթիվ տվյալների բազաների հետ: Այն իրականացնում է ստեղծելու, կարդալու, թարմացնելու և ջնջելու (CRUD) գործողություններ և օբյեկտների մոդելները քարտեզագրում տվյալների բազայի աղյուսակներում: Կառավարում է տվյալների բազայի բոլոր փոխազդեցությունները, որոնք անհրաժեշտ են CRUD գործառնությունների համար:
Դուք կարող եք օգտագործել ::create մեթոդը տվյալների բազայում նոր գրառում տեղադրելու համար:
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Ի լրումն վերը նշված ստեղծման պարզ մեթոդի, դուք կարող եք նաև ստեղծել նոր օբյեկտ և տալ նրան տարբեր ատրիբուտներ: Այնուհետև կարող եք զանգահարել save() ֆունկցիան և գործարկել կոդը: Մեթոդներ, ինչպիսիք են firstOrCreate
() կամ firstOrNew
() գրառումներ ստեղծելու այլ տարբերակներ են։ Դրանք թույլ կտան ձեզ գտնել որոշակի հատկանիշներով ուսանող. եթե այդ ուսանողը չգտնվի, դուք կստեղծեք այն տվյալների բազայում կամ կստեղծեք նոր օրինակ:
Օգտագործելով Eloquent ORM-ը, դուք կարող եք գրառումներ գտնել ձեր տվյալների բազայում: Հարցումները պարզապես կառուցված են և առաջարկում են հարթ հոսք: Հայտարարություններ ստեղծելու համար՝where
, դուք կօգտագործեք մեթոդները get
() Եվ first
(). Մեթոդը first
() կվերադարձնի միայն մեկ գրառում, մինչդեռ մեթոդը get
()-ը կվերադարձնի ձայնագրությունների օղակաձև զանգված: Նաև մեթոդը find
() կարող է օգտագործվել հիմնական բանալիների զանգվածի հետ, որը կվերադարձնի համապատասխան գրառումների հավաքածու: Ահա մի քանի օրինակներ.
$student = Students::all();
Այս կոդը ստանում է բոլոր ուսանողներին: Մինչդեռ հետևյալ կոդը գտնում է կոնկրետ ուսանողի ID-ով.
$student = Ուսանողներ::find(1);
Նաև, ինչպես ցույց է տրված ստորև, կոդը նկարագրում է ուսանողի որոնումը հատուկ հատկանիշի հիման վրա:
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Get() մեթոդի համար այս կոդը ցույց է տալիս, թե ինչպես գտնել 5-ից բարձր մակարդակ ունեցող ուսանող:
$rankStudents = Student::where('student_rank', '>', 5)->get();
Eloquent-ի միջոցով գրառումների թարմացումը նույնքան պարզ է: Գրառումը թարմացնելու համար պարզապես գտեք այն գրառումը, որը ցանկանում եք թարմացնել, խմբագրեք ատրիբուտները և պահպանեք: Օրինակ՝ Ջոն Դոյի աշակերտի գնահատականը 5-ի փոխելու համար նախ գտեք աշակերտին, ապա գործարկեք պահպանման մեթոդը։
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Պահպանման մեթոդը կարող է օգտագործվել նաև տվյալների բազայում արդեն գոյություն ունեցող մոդելները թարմացնելու համար:
Eloquent-ը պարծենում է գրառումների թարմացման իր հեշտ գործընթացով, բայց այն ունի նույն պատմությունը ջնջման հետ կապված: Կա երկու տարբերակ՝ դուրս հանել գրառումները և կատարել ջնջման մեթոդը, կամ պարզապես օգտագործել ոչնչացման մեթոդը: Գրառումը գտնելու և ջնջելու համար պարզապես գործարկեք հետևյալ հրամանները.
$student = Students::find(1);
$student->delete();
Գրառումը և բազմաթիվ գրառումները ջնջելու համար գործարկվում են հրամանները.
Students::destroy(1);
Students::destroy(1, 2, 3);
Նշենք, որ ոչնչացման պարամետրերը միայն առաջնային բանալիներ են, ի տարբերություն ջնջման մեթոդի, որը կարող է ընդունել տվյալների բազայի ցանկացած սյունակ:
10-րդ մակարդակից բարձր բոլոր ուսանողներին գտնելու և ջնջելու համար:
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Veeam-ի Coveware-ը կշարունակի տրամադրել կիբեր շորթման միջադեպերի արձագանքման ծառայություններ: Coveware-ը կառաջարկի դատաբժշկական և վերականգնման հնարավորություններ…
Կանխատեսելի սպասարկումը հեղափոխություն է անում նավթի և գազի ոլորտում՝ կայանի կառավարման նորարարական և ակտիվ մոտեցմամբ:…
Մեծ Բրիտանիայի CMA-ն նախազգուշացում է տարածել արհեստական ինտելեկտի շուկայում Big Tech-ի վարքագծի վերաբերյալ: Այնտեղ…
Շենքերի էներգաարդյունավետության բարձրացման նպատակով Եվրոպական միության կողմից ձևակերպված «Քեյս Գրին» հրամանագիրը իր օրենսդրական գործընթացն ավարտել է…