Laravel ja Eloquent auttavat nopeuttamaan sovellusten ja alustan kehitystä tarjoten riittävän ratkaisun useimpiin ongelmiin. Vaatimuksiin vastataan nopeammalla kehityksellä sekä hyvin organisoidulla, uudelleenkäytettävällä, ylläpidettävällä ja skaalautuvalla koodilla.
Kehittäjät voivat työskennellä Eloquent
useiden tietokantojen kanssa tehokkaasti ActiveMethod-toteutuksen avulla. Se on arkkitehtoninen malli, jossa Model-View-Controller (MVC) -rakenteessa luotu malli vastaa tietokannan taulukkoa. Etuna on, että mallit suorittavat yleisiä tietokantatoimintoja koodaamatta pitkiä SQL-kyselyjä. Mallien avulla voit kysyä tietoja taulukoista ja lisätä uusia tietueita taulukoihin. Useiden eri järjestelmissä olevien tietokantojen synkronointiprosessi on yksinkertaistettu. Sinun ei tarvitse kirjoittaa SQL-kyselyitä. Sinun tarvitsee vain defiViimeistele tietokantataulukot ja niiden väliset suhteet, niin Eloquent hoitaa loput työt.
Eloquent ORM:n hyödyn arvostaminen ja ekosysteemin ymmärtäminen on välttämätöntä. Aloitusohjeet:
migration
konsolin avulla Artisan
eloquent
seed
tietokannastaArtisan Console
on Laraveliin sisältyvän komentoriviliittymän nimi. Tarjoaa joukon hyödyllisiä komentoja, joita voit käyttää sovellustasi kehitettäessä. Sitä ohjaa tehokas komponentti Symfony Console
.
Jos haluat nähdä luettelon kaikista käytettävissä olevista Artisan-komennoista, voit käyttää lista-komentoa:
php artisan list
Kaikkien komentojen mukana tulee lyhyt kuvaus sen argumenteista ja vaihtoehdoista. Tämä näkyy "ohje"-näytössä. Saat ohjenäytön näkyviin kirjoittamalla komennon nimen eteen "help" kuvan osoittamalla tavalla:
php artisan help migrate
Migration
Siirtyminen on tietokannan hallintaprosessi kirjoittamalla sen sijaan PHP SQL
. Tarjoaa tavan lisätä versionhallinta tietokantaan.
Luo siirto suorittamalla seuraava komento:
php artisan make:migration create_student_records
Tämä luo siirtotiedoston. Avaa tekstieditorissa kansioon juuri luomasi tiedosto 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');
}
}
Koodi on luokka, jolla on sama nimi 'create student records
', ja siinä on kaksi tapaa: ylös ja alas. Up-menetelmän tulisi tehdä muutoksia tietokantaan; joten aina kun siirrät tietokannan, kaikki ylös-menetelmän koodit suoritetaan. Toisaalta alas-menetelmän pitäisi peruuttaa tietokantamuutokset; joten aina kun käytät rollback
ja migration
, alas-menetelmän pitäisi kumota ylös-menetelmän tekemä. Menetelmän sisällä up
on skeeman rakentaja, jota käytetään taulukoiden luomiseen ja käsittelemiseen. Mitä tapahtuu, jos peruutat osan siirroistasi? Sinun tarvitsee vain toteuttaa seuraava komento:
php artisan migrate:rollback
Ja hän kerää viimeisen migration
joka on toteutettu. Voit myös palauttaa tietokannan kokonaan suorittamalla:
php artisan migrate:reset
Tämä peruuttaa kaikki siirrosi.
Eloquent
Kun tietokannan siirto on valmis, seuraava prosessi on seeding
. Eloquent
tulee peliin vuodesta lähtien seeding
lisää tietueita tietokantaamme. Joten sinun on luotava mallit ennen tietokannan täyttämistä. Jokaisella tietokantataulukolla on vastaava malli, jota käytetään vuorovaikutuksessa kyseisen taulukon kanssa. Mallien avulla voit tehdä kyselyitä taulukoidesi tiedoista sekä lisätä uusia tietueita taulukkoon. Helpoin tapa luoda malli on käyttää seuraavaa komentoa:
php artisan make:model Student
Alla on esimerkki mallista Student
, jota voidaan käyttää tietojen hakemiseen ja tallentamiseen opiskelijamme tietokantataulukosta:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Kun luot mallin ja haluat samanaikaisesti luoda tietokannan siirron, voit käyttää vaihtoehtoa –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Yleiskylvökoneet ovat erityinen sarja luokkia, joiden avulla voimme täyttää tietokantaamme yhä uudelleen ja uudelleen täsmälleen samoilla tiedoilla. Toteutamme seuraavan komennon:
php artisan make:seeder StudentsRecordSeeder
Avaa tekstieditorissa siemenkansion alla juuri luotu tiedosto tiedostonimellä: StudentsRecordSeeder.php
. Kuten näet, tämä on vain hyvin yksinkertainen luokka, jossa on yksi menetelmä nimeltä run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Koodi on vain kääre konsolin komentoluokan ympärille, joka on erityisesti suunniteltu auttamaan tehtävässä seeding
. Muokkaa koodia ja tallenna se.
public function run()
{
echo 'Seeding!';
}
Ja menemällä terminaaliin:
php artisan db:seed --class=StudentsRecordSeeder
Nyt voit täyttää taulukon merkinnöillä ja suorittaa:
php artisan db:seed --class=class=StudentsRecordSeeder
Täällä voit jatkaa tietokannan merkintöjen poistamista, lisäämistä, muokkaamista ja sitten palauttamista yksinkertaisella komennolla.
CRUD-toiminnot Laravel Eloquent Object-relational Mapper (ORM) -sovelluksella helpottavat Laravel-kehittäjien työskentelyä useiden tietokantojen kanssa. Se suorittaa luonti-, luku-, päivitys- ja poistotoimintoja (CRUD) ja kartoittaa objektimalleja tietokantataulukoihin. Käsittelee kaikki CRUD-toimintojen edellyttämät tietokantavuorovaikutukset.
Voit lisätä uuden tietueen tietokantaan menetelmällä ::create.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Yllä esitetyn yksinkertaisen luontimenetelmän lisäksi voit myös luoda uuden objektin ja antaa sille erilaisia määritteitä. Sitten voit kutsua save()-funktion ja suorittaa koodin. Menetelmät kuten firstOrCreate
() tai firstOrNew
() ovat muita vaihtoehtoja tietueiden luomiseen. Näiden avulla voit löytää opiskelijan, jolla on tietyt ominaisuudet; Jos kyseistä opiskelijaa ei löydy, luot sen tietokantaan tai luot uuden ilmentymän.
Eloquent ORM:n avulla voit etsiä tietueita tietokannastasi. Kyselyt ovat yksinkertaisesti rakennettuja ja tarjoavat sujuvan kulun. Lausuntojen luominen:where
, käytät menetelmiä get
() Ja first
(). Menetelmä first
() palauttaa vain yhden tietueen, kun taas menetelmä get
() palauttaa silmukoitavan tietueiden joukon. Myös menetelmä find
() voidaan käyttää joukon perusavaimia, jotka palauttavat kokoelman vastaavia tietueita. Tässä muutamia esimerkkejä:
$student = Students::all();
Tämä koodi saa kaikki opiskelijat. Seuraava koodi löytää tietyn opiskelijan tunnuksella:
$opiskelija = Opiskelijat::find(1);
Lisäksi, kuten alla näkyy, koodi kuvaa opiskelijan etsimistä tietyn määritteen perusteella.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Get()-menetelmälle tämä koodi näyttää, kuinka löytää opiskelija, jonka taso on yli 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Tietueiden päivittäminen Eloquentilla on yhtä helppoa. Voit päivittää tietueen etsimällä päivitettävän tietueen, muokkaamalla määritteitä ja tallentamalla. Jos esimerkiksi haluat muuttaa John Doen oppilaan arvosanan 5:ksi, etsi ensin oppilas ja suorita sitten tallennusmenetelmä.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Tallennusmenetelmää voidaan käyttää myös tietokannassa jo olevien mallien päivittämiseen.
Eloquent ylpeilee helposta tietueiden päivitysprosessistaan, mutta sillä on sama tarina poistamisen kanssa. Vaihtoehtoja on kaksi: vedä tietueet ulos ja suorita poistomenetelmä tai käytä yksinkertaisesti tuhoamismenetelmää. Voit etsiä ja poistaa tietueen suorittamalla seuraavat komennot:
$student = Students::find(1);
$student->delete();
Tietueen ja useiden tietueiden poistamiseksi suoritetaan komennot:
Students::destroy(1);
Students::destroy(1, 2, 3);
Huomaa, että tuhoamisparametrit ovat vain ensisijaisia avaimia, toisin kuin poistomenetelmä, joka voi hyväksyä minkä tahansa tietokannan sarakkeen.
Voit etsiä ja poistaa kaikki tason 10 opiskelijat.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Veeamin Coveware tarjoaa jatkossakin kyberkiristystapahtumien reagointipalveluita. Coveware tarjoaa rikosteknisiä ja korjaavia ominaisuuksia…
Ennakoiva huolto mullistaa öljy- ja kaasualan innovatiivisella ja ennakoivalla lähestymistavalla laitosten hallintaan.…
Britannian CMA on antanut varoituksen Big Techin käyttäytymisestä tekoälymarkkinoilla. Siellä…
Euroopan unionin rakennusten energiatehokkuuden parantamiseksi laatima "Green Houses" -asetus on saanut lainsäädäntöprosessinsa päätökseen…