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
', и има два методи: нагоре и надолу. Нагоре методот треба да направи промени во базата на податоци; па секогаш кога ќе ја мигрирате вашата база на податоци, секој код во методот нагоре ќе се изврши. Од друга страна, методот надолу треба да ги врати назад тие промени во базата на податоци; па секогаш кога ќе ја стартувате 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();
Методот за зачувување може да се користи и за ажурирање на модели кои веќе постојат во базата на податоци.
Елоквент може да се пофали со својот лесен процес на ажурирање на записите, но ја има истата приказна со бришењето. Постојат две опции: повлекување записи и извршување на методот за бришење или едноставно користење на методот на уништување. За да пронајдете и избришете запис, едноставно извршете ги следните команди:
$student = Students::find(1);
$student->delete();
За да избришете запис и повеќе записи, се извршуваат командите:
Students::destroy(1);
Students::destroy(1, 2, 3);
Забележете дека параметрите на уништување се само примарни клучеви за разлика од методот за бришење кој може да прифати која било колона на базата на податоци.
Да се најдат и избришат сите ученици над ниво 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Coveware од Veeam ќе продолжи да обезбедува услуги за одговор на инциденти на сајбер изнуда. Coveware ќе понуди форензика и способности за санација…
Предвидливото одржување го револуционизира секторот за нафта и гас, со иновативен и проактивен пристап кон управувањето со постројките.…
Обединетото Кралство CMA издаде предупредување за однесувањето на Big Tech на пазарот на вештачка интелигенција. Таму…
Уредбата за „Case Green“, формулирана од Европската унија за подобрување на енергетската ефикасност на зградите, го заврши својот законодавен процес со…