Laravel і Eloquent дапамагаюць паскорыць распрацоўку прыкладанняў і платформы, забяспечваючы адэкватнае рашэнне большасці праблем. Патрабаванні вырашаюцца з дапамогай больш хуткай распрацоўкі, а таксама добра арганізаванага, шматразовага выкарыстання, абслугоўвання і маштабавання кода.
Распрацоўшчыкі могуць працаваць у Eloquent
з некалькімі базамі дадзеных, эфектыўна выкарыстоўваючы рэалізацыю ActiveMethod. Гэта архітэктурны шаблон, дзе мадэль, створаная ў структуры Model-View-Controller (MVC), адпавядае табліцы ў базе даных. Перавага заключаецца ў тым, што мадэлі выконваюць агульныя аперацыі з базамі дадзеных без кадавання доўгіх запытаў SQL. Шаблоны дазваляюць запытваць даныя ў табліцах і ўстаўляць новыя запісы ў табліцы. Працэс сінхранізацыі некалькіх баз дадзеных, якія працуюць у розных сістэмах, спрошчаны. Вам не трэба пісаць SQL-запыты. Усё, што вам трэба зрабіць, гэта defiСкончыце табліцы базы дадзеных і адносіны паміж імі, а Eloquent зробіць астатнюю працу.
Ацэнка карыснасці Eloquent ORM і разуменне экасістэмы з'яўляюцца абавязковымі. Крокі для пачатку:
migration
з дапамогай кансолі Artisan
eloquent
seed
базы даныхArtisan Console
гэта назва інтэрфейсу каманднага радка, уключанага ў Laravel. Прадастаўляе набор карысных каманд для выкарыстання пры распрацоўцы вашага прыкладання. Ён кіруецца магутным кампанентам Symfony Console
.
Каб убачыць спіс усіх даступных каманд Artisan, вы можаце выкарыстоўваць каманду list:
php artisan list
Усе каманды пастаўляюцца з кароткім апісаннем сваіх аргументаў і опцый. Гэта паказана на экране «даведкі». Каб паказаць экран даведкі, проста пастаўце перад назвай каманды «help», як паказана:
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 павінен уносіць змены ў базу дадзеных; таму кожны раз, калі вы пераносіце вашу базу дадзеных, любы код у метадзе up будзе выкананы. З іншага боку, метад ўніз павінен адкаціць гэтыя змены базы дадзеных; таму кожны раз, калі вы запускаеце rollback
з migration
, метад down павінен адмяніць тое, што зрабіў метад up. Ўнутры метад 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
У тэкставым рэдактары ў тэчцы seeds адкрыйце толькі што створаны файл з імем: 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
Тут вы можаце працягваць выдаляць, дадаваць, змяняць запісы ў БД, а затым аднаўляць іх з дапамогай простай каманды.
Аперацыі CRUD з Laravel Eloquent object-relational mapper (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:
$студэнт = Студэнты::знайсці(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);
Звярніце ўвагу, што параметры delete з'яўляюцца толькі першаснымі ключамі, у адрозненне ад метаду delete, які можа прымаць любы слупок базы дадзеных.
Каб знайсці і выдаліць усіх студэнтаў вышэй за 10-ы ўзровень.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Microsoft Excel з'яўляецца эталонным інструментам для аналізу даных, таму што ён прапануе мноства функцый для арганізацыі набораў даных,...
Walliance, SIM і платформа сярод лідэраў у Еўропе ў галіне краўдфандынгу нерухомасці з 2017 года, аб'яўляе аб завяршэнні...
Filament - гэта "паскораная" структура распрацоўкі Laravel, якая забяспечвае некалькі кампанентаў поўнага стэка. Ён прызначаны для спрашчэння працэсу...
«Я павінен вярнуцца, каб завяршыць сваю эвалюцыю: я спраектую сябе ўнутры кампутара і стану чыстай энергіяй. Аднойчы пасяліўшыся ў…
Google DeepMind прадстаўляе палепшаную версію сваёй мадэлі штучнага інтэлекту. Новая ўдасканаленая мадэль забяспечвае не толькі...
Laravel, вядомы сваім элегантным сінтаксісам і магутнымі функцыямі, таксама забяспечвае трывалую аснову для модульнай архітэктуры. Там…
Cisco і Splunk дапамагаюць кліентам паскорыць іх шлях да Аперацыйнага цэнтра бяспекі (SOC) будучыні з дапамогай…
Праграмы-вымагальнікі дамінавалі ў навінах апошнія два гады. Большасць людзей добра ведаюць, што напады...