Laravel e Eloquent aiutano a velocizzare lo sviluppo di applicazioni e piattaforme, fornendo una soluzione adeguata alla maggior parte dei problemi. I requisiti vengono affrontati con uno sviluppo più rapido, oltre a un codice ben organizzato, riutilizzabile, gestibile e scalabile.
Gli sviluppatori possono lavorare in Eloquent
con più database in modo efficiente utilizzando un’implementazione ActiveMethod. È un modello architettonico in cui il modello creato nella struttura Model-View-Controller (MVC) corrisponde a una tabella nel database. Il vantaggio è che i modelli eseguono operazioni di database comuni senza codificare lunghe query SQL. I modelli consentono di eseguire query sui dati nelle tabelle e di inserire nuovi record nelle tabelle. Il processo di sincronizzazione di più database in esecuzione su sistemi diversi è semplificato. Non è necessario scrivere query SQL. Tutto quello che devi fare è definire le tabelle del database e le relazioni tra di loro, e Eloquent farà il resto del lavoro.
Apprezzare l’utilità di Eloquent ORM, e comprendere l’ecosistema è un must. I passaggi per iniziare:
migration
utilizzando la console Artisan
eloquent
seed
del databaseArtisan Console
è il nome dell’interfaccia della riga di comando inclusa in Laravel. Fornisce una serie di comandi utili da utilizzare durante lo sviluppo dell’applicazione. È guidato dal potente componente Symfony Console
.
Per visualizzare un elenco di tutti i comandi Artisan disponibili, puoi utilizzare il comando list:
php artisan list
Tutti i comandi vengono forniti con una descrizione concisa dei suoi argomenti e opzioni. Questo è mostrato in una schermata di “aiuto”. Per visualizzare una schermata di aiuto, è sufficiente far precedere il nome del comando da “help” come mostrato:
php artisan help migrate
Migration
La migration è un processo di gestione del database scrivendo PHP anziché SQL
. Fornisce un modo per aggiungere il controllo della versione al database.
Per creare una migrazione, basta eseguire il seguente comando:
php artisan make:migration create_student_records
Questo crea il file di migrazione. Nel tuo editor di testo, apri il file appena creato nella cartella 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');
}
}
Il codice è una classe con lo stesso nome ‘create student records
‘, e ha due metodi: up e down. Il metodo up dovrebbe apportare modifiche al database; quindi ogni volta che esegui la migrazione del tuo database, verrà eseguito qualsiasi codice presente nel metodo up. D’altra parte, il metodo down dovrebbe ripristinare tali modifiche al database; quindi ogni volta che esegui il rollback
della migration
, il metodo down dovrebbe annullare ciò che ha fatto il metodo up. All’interno del metodo up
c’è lo schema builder utilizzato per creare e manipolare le tabelle. Cosa succede se annulli alcune delle tue migrazioni? Tutto quello che devi fare è implementare il seguente comando:
php artisan migrate:rollback
E ritirerà l’ultima migration
che è stata implementata. Inoltre, puoi ripristinare completamente il database eseguendo:
php artisan migrate:reset
Questo annullerà tutte le tue migrazioni.
Eloquent
Al termine della migrazione del database, il processo successivo è il seeding
. Eloquent
entra in gioco poiché il seeding
è l’inserimento di record nel nostro database. Quindi dovrai creare i modelli prima di popolare il database. Ogni tabella di database ha un modello corrispondente che viene utilizzato per interagire con tale tabella. I modelli ti consentono di interrogare i dati nelle tue tabelle, nonché di inserire nuovi record nella tabella. Il modo più semplice per creare un’istanza del modello è utilizzare il seguente comando:
php artisan make:model Student
Di seguito è mostrato un esempio di modello Student
, che può essere utilizzato per recuperare e archiviare informazioni dalla tabella del database del nostro studente:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Quando si genera un modello e allo stesso tempo si desidera generare una migrazione del database, è possibile utilizzare l’opzione –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
I seeder complessivi sono un insieme speciale di classi che ci consentono di popolare il nostro database più e più volte con gli stessi dati esatti. Implementiamo il seguente comando:
php artisan make:seeder StudentsRecordSeeder
Nell’editor di testo, sotto la cartella seeds, apri il file appena creato con nome file: StudentsRecordSeeder.php
. Come puoi vedere, questa è solo una classe molto semplice con un singolo metodo chiamato run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Il codice è solo un involucro attorno a una classe di comandi della console, creata appositamente per aiutare con l’attività di seeding
. Modifica il codice e poi salvalo.
public function run()
{
echo 'Seeding!';
}
E passando al terminale:
php artisan db:seed --class=StudentsRecordSeeder
Ora puoi popolare la tabella con alcune voci ed eseguire:
php artisan db:seed --class=class=StudentsRecordSeeder
Qui puoi continuare a eliminare, aggiungere, modificare le voci nel DB, quindi ripristinarle con un semplice comando.
Le operazioni CRUD con Laravel Eloquent object-relational mapper (ORM) rendono più facile per gli sviluppatori di Laravel lavorare con più database. Esegue operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD), nonché mappa i modelli di oggetti alle tabelle del database. Gestisce tutte le interazioni del database richieste per le operazioni CRUD.
È possibile utilizzare il metodo ::create per inserire un nuovo record nel database.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Oltre al semplice metodo di creazione mostrato sopra, puoi anche creare un nuovo oggetto e assegnargli attributi diversi. Quindi, puoi chiamare la funzione save() ed eseguire il codice. Metodi come firstOrCreate
() o firstOrNew
() sono altre opzioni per la creazione di record. Questi consentiranno di trovare uno studente con determinati attributi; se quello studente non viene trovato, lo creerai nel database o creerai un’istanza di una nuova istanza.
Utilizzando Eloquent ORM, è possibile trovare record nel database. Le query sono costruite in modo semplice e offrono un flusso regolare. Per creare istruzioni ::where
, utilizzerai i metodi get
() e first
(). Il metodo first
() restituirà solo un record, mentre il metodo get
() restituirà un array di record su cui è possibile eseguire il loop. Inoltre, il metodo find
() può essere utilizzato con un array di chiavi primarie, che restituirà una raccolta di record corrispondenti. Ecco alcuni esempi:
$student = Students::all();
Questo codice ottiene tutti gli studenti. Mentre il codice seguente trova uno studente specifico per ID:
$studente = Studenti::find(1);
Inoltre, come mostrato di seguito, il codice descrive la ricerca di uno studente in base a un attributo specifico.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Per il metodo get(), questo codice mostra come trovare uno studente con un livello superiore a 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
L’aggiornamento dei record utilizzando Eloquent è altrettanto semplice. Per aggiornare un record, basta trovare il record che si desidera aggiornare, modificare gli attributi e salvare. Ad esempio, per modificare il livello di grado dello studente di John Doe a 5, prima trova lo studente e poi esegui il metodo di salvataggio.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Il metodo save può essere utilizzato anche per aggiornare i modelli già esistenti nel database.
Eloquent vanta il suo facile processo di aggiornamento dei record, ma ha la stessa storia con l’eliminazione. Ci sono due opzioni: record pull-out ed esegui il metodo delete, o semplicemente usa il metodo destroy. Per trovare ed eliminare un record, esegui semplicemente i seguenti comandi:
$student = Students::find(1);
$student->delete();
Per eliminare un record e più record, vengono eseguiti i comandi:
Students::destroy(1);
Students::destroy(1, 2, 3);
Si noti che i parametri di destroy sono solo chiavi primarie a differenza del metodo delete che può accettare qualsiasi colonna del database.
Per trovare ed eliminare tutti gli studenti con livello superiore a 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Reply, società di consulenza e system integrator a livello globale e Oracle Cloud Managed Service Provider, annuncia di aver ricevuto…
MasterZ Blockchain, aumenta il valore per il Master d’ eccellenza WEB 3.0 più grande d' Europa. Il team tutto italiano…
33 finalisti selezionati tra 5.213 candidature in 163 paesi I finalisti sostengono un'azione climatica incisiva e supportano l'accesso all'energia pulita,…
I prodotti biologici si sono evidenziati come una classe farmaceutica innovativa, rivoluzionando il campo della medicina attraverso terapie mirate. A…
L'internalizzazione delle stampanti per la produzione di metalli e polimeri negli stabilimenti di Riom, Francia e Rock Hill, Carolina del…
L'analisi dei dati senza librerie e potenziata dall'apprendimento automatico con Spectronaut ® 18 offre quantificazione e produttività delle proteine leader del settore…
Mattermost presenta un ecosistema ampliato di alleati con un'enfasi sui nuovi casi d'uso del Dipartimento della Difesa per le soluzioni…
La piattaforma di punta TV 2.0 di United Cloud, estremamente popolare con il nome commerciale EON TV, acquisisce potenti difese…
Armis Centrix™ consente alle organizzazioni di vedere, proteggere e gestire tutte le risorse virtuali, garantendo la difesa e la gestione…
La nanotecnologia ha inaugurato una nuova era nella somministrazione di farmaci oculari, offrendo soluzioni piccole ma potenti per superare sfide…