Laravel en Eloquent help om toepassings- en platformontwikkeling te bespoedig en bied 'n voldoende oplossing vir die meeste probleme. Vereistes word aangespreek met vinniger ontwikkeling, sowel as goed georganiseerde, herbruikbare, onderhoubare en skaalbare kode.
Ontwikkelaars kan werk in Eloquent
met veelvuldige databasisse doeltreffend deur 'n ActiveMethod-implementering te gebruik. Dit is 'n argitektoniese patroon waar die model wat in die Model-View-Controller (MVC)-struktuur geskep is, ooreenstem met 'n tabel in die databasis. Die voordeel is dat die modelle algemene databasisbewerkings uitvoer sonder om lang SQL-navrae te kodeer. Sjablone laat jou toe om data in tabelle te bevraagteken en nuwe rekords in tabelle in te voeg. Die proses van sinchronisering van verskeie databasisse wat op verskillende stelsels loop, is vereenvoudig. Jy hoef nie SQL-navrae te skryf nie. Al wat jy hoef te doen is defiVoltooi die databasistabelle en die verwantskappe tussen hulle, en Eloquent sal die res van die werk doen.
Om die nut van Eloquent ORM te waardeer en die ekosisteem te verstaan is 'n moet. Stappe om te begin:
migration
met behulp van die konsole Artisan
eloquent
seed
van die databasisArtisan Console
is die naam van die opdragreël-koppelvlak wat in Laravel ingesluit is. Verskaf 'n stel nuttige opdragte om te gebruik tydens die ontwikkeling van jou toepassing. Dit word aangedryf deur die kragtige komponent Symfony Console
.
Om 'n lys van alle beskikbare Artisan-opdragte te sien, kan jy die lys-opdrag gebruik:
php artisan list
Alle opdragte kom met 'n bondige beskrywing van sy argumente en opsies. Dit word in 'n "hulp"-skerm gewys. Om 'n hulpskerm te vertoon, gaan eenvoudig die opdragnaam vooraf met "help" soos aangedui:
php artisan help migrate
Migration
Migrasie is 'n databasisbestuursproses deur eerder PHP te skryf SQL
. Bied 'n manier om weergawebeheer by die databasis te voeg.
Om 'n migrasie te skep, voer net die volgende opdrag uit:
php artisan make:migration create_student_records
Dit skep die migrasielêer. In jou teksredigeerder, maak die lêer wat jy sopas geskep het in die gids oop 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');
}
}
Die kode is 'n klas met dieselfde naam 'create student records
', en het twee metodes: op en af. Die op-metode moet veranderinge aan die databasis maak; so wanneer jy jou databasis migreer, sal enige kode in die op-metode uitgevoer word. Aan die ander kant moet die af-metode daardie databasisveranderinge terugrol; so wanneer jy die hardloop rollback
van migration
, moet die af-metode ongedaan maak wat die op-metode gedoen het. Binne die metode up
daar is die skemabouer wat gebruik word om die tabelle te skep en te manipuleer. Wat gebeur as jy sommige van jou migrasies kanselleer? Al wat jy hoef te doen is om die volgende opdrag te implementeer:
php artisan migrate:rollback
En hy sal die laaste een versamel migration
wat geïmplementeer is. U kan ook die databasis heeltemal herstel deur te hardloop:
php artisan migrate:reset
Dit sal al jou migrasies kanselleer.
Eloquent
Nadat die databasismigrasie voltooi is, is die volgende proses die seeding
. Eloquent
kom in die spel sedert die seeding
is besig om rekords in ons databasis in te voeg. U moet dus die sjablone skep voordat u die databasis invul. Elke databasistabel het 'n ooreenstemmende model wat gebruik word om met daardie tabel te kommunikeer. Sjablone laat jou toe om navraag te doen oor die data in jou tabelle, asook om nuwe rekords in die tabel in te voeg. Die maklikste manier om die model te instansieer is om die volgende opdrag te gebruik:
php artisan make:model Student
'n Voorbeeld van 'n sjabloon word hieronder getoon Student
, wat gebruik kan word om inligting van ons student se databasistabel af te haal en te stoor:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Wanneer jy 'n model genereer en terselfdertyd 'n databasismigrasie wil genereer, kan jy die opsie gebruik –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Algehele seeders is 'n spesiale stel klasse wat ons toelaat om ons databasis oor en oor te vul met presies dieselfde data. Ons implementeer die volgende opdrag:
php artisan make:seeder StudentsRecordSeeder
In die teksredigeerder, onder die saad-lêergids, maak die nuutgeskepte lêer met lêernaam oop: StudentsRecordSeeder.php
. Soos u kan sien, is dit net 'n baie eenvoudige klas met 'n enkele metode genoem run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Die kode is net 'n omhulsel rondom 'n konsole-opdragklas, spesifiek gebou om te help met die taak van seeding
. Wysig die kode en stoor dit dan.
public function run()
{
echo 'Seeding!';
}
En gaan na die terminale:
php artisan db:seed --class=StudentsRecordSeeder
Nou kan jy die tabel met 'n paar inskrywings vul en hardloop:
php artisan db:seed --class=class=StudentsRecordSeeder
Hier kan jy aanhou om inskrywings in die DB uit te vee, by te voeg, te wysig en dit dan met 'n eenvoudige opdrag te herstel.
CRUD-bedrywighede met Laravel Eloquent objekverhoudingskaartmaker (ORM) maak dit makliker vir Laravel-ontwikkelaars om met veelvuldige databasisse te werk. Dit voer skep, lees, werk en verwyder (CRUD) bewerkings uit, en karteer objekmodelle na databasistabelle. Hanteer alle databasis-interaksies wat benodig word vir CRUD-bedrywighede.
Jy kan die :: skep metode gebruik om 'n nuwe rekord in die databasis in te voeg.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Benewens die eenvoudige skeppingsmetode wat hierbo gewys word, kan jy ook 'n nuwe voorwerp skep en dit verskillende eienskappe gee. Dan kan jy die save() funksie oproep en die kode laat loop. Metodes soos firstOrCreate
() of firstOrNew
() is ander opsies om rekords te skep. Dit sal jou toelaat om 'n student met sekere eienskappe te vind; as daardie student nie gevind word nie, sal jy dit in die databasis skep of 'n nuwe instansie instansieer.
Deur Eloquent ORM te gebruik, kan jy rekords in jou databasis vind. Die navrae is eenvoudig saamgestel en bied 'n gladde vloei. Om stellings te skep::where
, sal jy die metodes gebruik get
() En first
(). Die metode first
() sal slegs een rekord terugstuur, terwyl die metode get
() sal 'n lusbare reeks rekords terugstuur. Ook die metode find
() kan gebruik word met 'n verskeidenheid primêre sleutels, wat 'n versameling ooreenstemmende rekords sal terugstuur. Hier is 'n paar voorbeelde:
$student = Students::all();
Hierdie kode kry alle studente. Terwyl die volgende kode 'n spesifieke student volgens ID vind:
$student = Studente::find(1);
Ook, soos hieronder getoon, beskryf die kode die soeke na 'n student op grond van 'n spesifieke eienskap.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Vir die get()-metode wys hierdie kode hoe om 'n student met 'n vlak bo 5 te vind.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Die opdatering van rekords met Eloquent is net so eenvoudig. Om 'n rekord op te dateer, vind net die rekord wat jy wil opdateer, wysig die eienskappe en stoor. Byvoorbeeld, om die graadvlak van John Doe se student na 5 te verander, vind eers die student en voer dan die stoormetode uit.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Die stoormetode kan ook gebruik word om modelle wat reeds in die databasis bestaan, op te dateer.
Eloquent spog met sy maklike rekordopdateringsproses, maar dit het dieselfde storie met uitvee. Daar is twee opsies: trek rekords uit en voer die verwyderingsmetode uit, of gebruik eenvoudig die vernietigmetode. Om 'n rekord te vind en uit te vee, voer eenvoudig die volgende opdragte uit:
$student = Students::find(1);
$student->delete();
Om 'n rekord en veelvuldige rekords uit te vee, word die opdragte uitgevoer:
Students::destroy(1);
Students::destroy(1, 2, 3);
Let daarop dat die parameters van vernietig slegs primêre sleutels is, anders as die verwyderingsmetode wat enige databasiskolom kan aanvaar.
Om alle studente bo vlak 10 te vind en uit te vee.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
'n Oftalmoplastie-operasie met die Apple Vision Pro-kommersiële kyker is by die Catania Polikliniek uitgevoer ...
Die ontwikkeling van fyn motoriese vaardighede deur inkleur berei kinders voor vir meer komplekse vaardighede soos skryf. Om in te kleur...
Die vlootsektor is 'n ware globale ekonomiese moondheid, wat na 'n 150 miljard-mark navigeer het ...
Verlede Maandag het die Financial Times 'n ooreenkoms met OpenAI aangekondig. FT lisensieer sy wêreldklas-joernalistiek ...