Laravel en Eloquent helpen de ontwikkeling van applicaties en platforms te versnellen en bieden een adequate oplossing voor de meeste problemen. Vereisten worden aangepakt met snellere ontwikkeling, evenals goed georganiseerde, herbruikbare, onderhoudbare en schaalbare code.
Ontwikkelaars kunnen werken Eloquent
met meerdere databases efficiënt met behulp van een ActiveMethod-implementatie. Het is een architectonisch patroon waarbij het model dat is gemaakt in de Model-View-Controller (MVC) -structuur overeenkomt met een tabel in de database. Het voordeel is dat de modellen algemene databasebewerkingen uitvoeren zonder lange SQL-query's te coderen. Met sjablonen kunt u gegevens in tabellen opvragen en nieuwe records in tabellen invoegen. Het proces van het synchroniseren van meerdere databases die op verschillende systemen draaien, is vereenvoudigd. U hoeft geen SQL-query's te schrijven. Alles wat je moet doen is defiMaak de databasetabellen en de relaties ertussen af, en Eloquent zal de rest van het werk doen.
Het nut van Eloquent ORM waarderen en het ecosysteem begrijpen is een must. Stappen om aan de slag te gaan:
migration
met behulp van de console Artisan
eloquent
seed
van de databankArtisan Console
is de naam van de opdrachtregelinterface in Laravel. Biedt een reeks handige opdrachten die u kunt gebruiken tijdens het ontwikkelen van uw toepassing. Het wordt aangedreven door de krachtige component Symfony Console
.
Om een lijst te zien van alle beschikbare Artisan-commando's, kun je het list-commando gebruiken:
php artisan list
Alle commando's worden geleverd met een beknopte beschrijving van de argumenten en opties. Dit wordt weergegeven in een "help"-scherm. Om een helpscherm weer te geven, laat u de opdrachtnaam gewoon voorafgaan door "help", zoals weergegeven:
php artisan help migrate
Migration
Migratie is een databasebeheerproces door in plaats daarvan PHP te schrijven SQL
. Biedt een manier om versiebeheer aan de database toe te voegen.
Voer de volgende opdracht uit om een migratie te maken:
php artisan make:migration create_student_records
Hiermee wordt het migratiebestand gemaakt. Open in uw teksteditor het bestand dat u zojuist in de map hebt gemaakt 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');
}
}
De code is een klasse met dezelfde naam 'create student records
', en heeft twee methoden: omhoog en omlaag. De up-methode moet wijzigingen in de database aanbrengen; dus elke keer dat u uw database migreert, wordt elke code in de up-methode uitgevoerd. Aan de andere kant zou de neerwaartse methode die databasewijzigingen moeten terugdraaien; dus wanneer u de rollback
van migration
, zou de down-methode ongedaan moeten maken wat de up-methode deed. Binnen de methode up
er is de schemabouwer die wordt gebruikt om de tabellen te maken en te manipuleren. Wat gebeurt er als u enkele van uw migraties annuleert? Het enige dat u hoeft te doen, is de volgende opdracht implementeren:
php artisan migrate:rollback
En hij zal de laatste ophalen migration
die is uitgevoerd. U kunt de database ook volledig herstellen door het volgende uit te voeren:
php artisan migrate:reset
Hiermee annuleer je al je migraties.
Eloquent
Nadat de databasemigratie is voltooid, is het volgende proces de seeding
. Eloquent
speelt sinds de seeding
voegt records toe aan onze database. U moet dus de sjablonen maken voordat u de database vult. Elke databasetabel heeft een bijbehorend model dat wordt gebruikt om met die tabel te communiceren. Met sjablonen kunt u de gegevens in uw tabellen opvragen en nieuwe records in de tabel invoegen. De eenvoudigste manier om het model te instantiëren is door de volgende opdracht te gebruiken:
php artisan make:model Student
Hieronder ziet u een voorbeeld van een sjabloon Student
, die kan worden gebruikt om informatie uit de databasetabel van onze studenten op te halen en op te slaan:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Wanneer u een model genereert en tegelijkertijd een databasemigratie wilt genereren, kunt u de optie gebruiken –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Algehele seeders zijn een speciale set klassen waarmee we onze database keer op keer kunnen vullen met exact dezelfde gegevens. We implementeren de volgende opdracht:
php artisan make:seeder StudentsRecordSeeder
Open in de teksteditor, onder de map Seeds, het nieuw gemaakte bestand met de bestandsnaam: StudentsRecordSeeder.php
. Zoals je kunt zien, is dit slechts een heel eenvoudige klasse met een enkele methode genaamd run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
De code is slechts een omhulsel rond een console-opdrachtklasse, speciaal gebouwd om te helpen bij de taak van seeding
. Bewerk de code en sla deze vervolgens op.
public function run()
{
echo 'Seeding!';
}
En naar de terminal gaan:
php artisan db:seed --class=StudentsRecordSeeder
Nu kunt u de tabel vullen met enkele vermeldingen en uitvoeren:
php artisan db:seed --class=class=StudentsRecordSeeder
Hier kunt u vermeldingen in de database blijven verwijderen, toevoegen, wijzigen en vervolgens met een eenvoudige opdracht herstellen.
CRUD-bewerkingen met Laravel Eloquent object-relational mapper (ORM) maken het voor Laravel-ontwikkelaars gemakkelijker om met meerdere databases te werken. Het voert bewerkingen voor het maken, lezen, bijwerken en verwijderen (CRUD) uit en wijst objectmodellen toe aan databasetabellen. Verwerkt alle database-interacties die nodig zijn voor CRUD-bewerkingen.
U kunt de methode ::create gebruiken om een nieuw record in de database in te voegen.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Naast de hierboven getoonde eenvoudige creatiemethode, kunt u ook een nieuw object maken en het andere attributen geven. Vervolgens kunt u de functie save() aanroepen en de code uitvoeren. Methoden zoals firstOrCreate
() uit firstOrNew
() zijn andere opties voor het maken van records. Hiermee kun je een student met bepaalde attributen vinden; als die student niet wordt gevonden, maakt u deze aan in de database of maakt u een nieuwe instantie aan.
Met Eloquent ORM kunt u records in uw database vinden. De vragen zijn eenvoudig opgebouwd en bieden een vlotte doorstroming. Verklaringen maken::where
, ga je de methodes gebruiken get
() En first
(). De methode first
() retourneert slechts één record, terwijl de methode get
() retourneert een loopbare reeks records. Ook de werkwijze find
() kan worden gebruikt met een reeks primaire sleutels, die een verzameling overeenkomende records zal retourneren. Hier zijn enkele voorbeelden:
$student = Students::all();
Deze code krijgt alle studenten. Terwijl de volgende code een specifieke student op ID vindt:
$student = Studenten::vind(1);
Zoals hieronder getoond, beschrijft de code ook het zoeken naar een student op basis van een specifiek attribuut.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Voor de methode get() laat deze code zien hoe je een leerling kunt vinden met een niveau hoger dan 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Records bijwerken met Eloquent is net zo eenvoudig. Om een record bij te werken, hoeft u alleen maar het record te zoeken dat u wilt bijwerken, de kenmerken te bewerken en op te slaan. Als u bijvoorbeeld het leerjaar van de leerling van John Doe wilt wijzigen in 5, zoekt u eerst de leerling en voert u vervolgens de opslagmethode uit.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
De opslagmethode kan ook worden gebruikt om modellen bij te werken die al in de database bestaan.
Eloquent pronkt met het gemakkelijke updateproces van records, maar het heeft hetzelfde verhaal met verwijderen. Er zijn twee opties: verwijder records en voer de verwijdermethode uit, of gebruik gewoon de vernietigingsmethode. Voer eenvoudig de volgende opdrachten uit om een record te vinden en te verwijderen:
$student = Students::find(1);
$student->delete();
Om een record en meerdere records te verwijderen, worden de opdrachten uitgevoerd:
Students::destroy(1);
Students::destroy(1, 2, 3);
Merk op dat de parameters van vernietigen alleen primaire sleutels zijn, in tegenstelling tot de verwijdermethode die elke databasekolom kan accepteren.
Om alle leerlingen boven niveau 10 te vinden en te verwijderen.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...
Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…
Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...
Voorspellend onderhoud zorgt voor een revolutie in de olie- en gassector, met een innovatieve en proactieve benadering van fabrieksbeheer.…