Tutorial Orm eloquente di Laravel

Tutorial Orm eloquente di Laravel
Eloquent ORM (Object Relation Mapper) è facile da usare per gli utenti che sanno come utilizzare gli oggetti in PHP. L'ORM è una caratteristica importante del framework Laravel, considerata una caratteristica potente e costosa di Laravel. ORM funziona con gli oggetti del database e viene utilizzato per fare relazioni con le tabelle del database. Ogni tabella del database è mappata con un particolare modello eloquente. L'oggetto modello contiene vari metodi per recuperare e aggiornare i dati dalla tabella del database. ORM eloquente può essere utilizzato con più database implementando ActiveMethod. Questa funzione rende le attività relative al database, come la definizione delle relazioni, più semplice definendo le tabelle del database. Questo tutorial spiega come applicare ORM eloquente di Laravel nei tuoi progetti Laravel.

Prerequisiti

Prima di iniziare questo tutorial, è necessario eseguire le seguenti attività:

  1. Installa una nuova copia del progetto Laravel
  2. Crea la connessione del database

Crea tabelle

Per completare i passaggi del tutorial, è necessario creare due tabelle nel database. Questi sono la tabella del produttore e la tabella dei prodotti. La relazione tra queste due tabelle sarà rispettivamente da una a molti. Esegui il comando seguente per creare il file di migrazione per la creazione della struttura di produttori tavolo.

$ php artisan make: migration create_manufauture_table

Apri il file di migrazione da database \ migration cartella e modificare il su() Metodo con il seguente codice. La tabella conterrà sei campi: ID, nome, indirizzo, telefono, creato_at e updated_at.

funzione pubblica up ()

Schema :: create ('produttori', funzione (modello $ table)
$ table-> id ();
$ table-> string ('name')-> univoco ();
$ table-> text ('indirizzo');
$ table-> string ('telefono');
$ table-> timestamps ();
);

Eseguire il seguente comando per creare un file di migrazione per la creazione delle strutture del prodotti tavolo.

$ php artisan make: migration create_product_table

Aprire il file di migrazione dal file database \ migration cartella e modificare il su() Metodo con il seguente codice. La tabella conterrà sette campi: ID, nome, prezzo, produttore_id, creato_at e updated_at. Qui, produce_id è una chiave esterna per il prodotti tavolo.

funzione pubblica up ()

Schema :: create ('Products', Function (Blueprint $ Table)
$ table-> id ();
$ table-> string ('name')-> univoco ();
$ table-> decimal ('price', 10, 2);
$ table-> biginteger ('produttore_id')-> unsigned ();
$ table-> straniero ('produttore_id')-> riferimenti ('id')-> on ('produttori');
$ table-> timestamps ();
);

Esegui il seguente comando migra per creare le tabelle nel database.

$ PHP Artisan Migrate

Crea modelli

Devi anche creare due modelli, denominati Produttore E Prodotto, Per le tabelle precedentemente create. Eseguire il comando seguente per creare il Produttore modello.

$ PHP Artisan Make: produttore di modelli

Aprire il modello dal app cartella e modifica il codice con il seguente codice. $ riempimento viene utilizzato per definire i campi obbligatori del produzione tavolo. IL prodotti() il metodo viene utilizzato per impostare il tipo di relazione con il prodotti tavolo.

app spazio dei nomi;
Usa illuminate \ database \ eloquent \ modello;
Il produttore di classe estende il modello

Protected $ riempibile = [
'name', 'indirizzo', 'telefono',
];
Prodotti di funzione pubblica ()

restituisce $ this-> hasmany ('app \ product');

Eseguire il comando seguente per creare il Prodotto modello.

Aprire il modello dal app cartella e modifica il codice con il seguente codice. $ riempimento viene utilizzato per definire i campi obbligatori del prodotti tavolo. IL produttori () il metodo viene utilizzato per impostare il tipo di relazione con il produttori tavolo.

$ PHP Artisan Make: Model Product
app spazio dei nomi;
Usa illuminate \ database \ eloquent \ modello;
Il prodotto di classe estende il modello

Protected $ riempibile = [
'Nome', 'Price', 'produttore_id'
];
Produttori di funzioni pubbliche ()

restituire $ this-> betchsto ('app \ produttore');

Crea controller

Esegui i seguenti comandi per creare Manucontroller E ProductController.

$ PHP Artisan Make: Manucontroller del controller
$ PHP Artisan Make: Controller ProductController

Operazioni CRUD utilizzando Eloquent Orm

Le operazioni CRUD sono mostrate di seguito mediante prima aggiunta di metodi a questi due controller.

Inserire dati

Tabella del produttore

Aggiungi il Produttore modello nella parte superiore del Manucontroller. Quindi, aggiungi il seguente codice all'interno del Manucontroller modello per inserire due record nel produttori tavolo.

funzione pubblica create_data ()

Produttore :: create ([
'name' => 'ABC Trade',
'indirizzo' => '34, mirpur, dhaka ',
'Telefono' => '01878562323'
]);
Produttore :: create ([
'name' => 'rahim afroze',
'indirizzo' => '123, dhanmondi, dhaka',
'Telefono' => '01878562900'
]);
Echo "Dati del produttore inseriti";

Aggiungi il seguente percorso nel rotte \ web.PHP file per eseguire il file create_data () metodo.

Route :: get ('manu', 'manucontroller@create_data');

La seguente uscita apparirà dopo aver inserito l'URL di seguito nel browser.

http: // localhost: 8000/manu

Tabella dei prodotti

Aggiungi il Prodotto modello nella parte superiore del ProductController. Quindi, aggiungi il seguente codice all'interno del ProductController Per inserire tre record nel file prodotti tavolo.

indice della funzione pubblica ()

Prodotto :: Crea ([
'name' => 'tv 32 inche',
'Price' => 10000,
'produttore_id' => 1
]);
Prodotto :: Crea ([
'name' => 'walton frigo',
'Price' => 20000,
'produttore_id' => 1
]);
Prodotto :: Crea ([
'name' => 'IPS 7832',
'Price' => 25000,
'produttore_id' => 2
]);
Echo "Dati di prodotto inseriti";

Aggiungi il seguente percorso nel rotte \ web.PHP file per eseguire il file indice() metodo.

Route :: get ('Product', 'ProductController@Index');

La seguente uscita apparirà dopo aver inserito l'URL di seguito nel browser.

http: // localhost: 8000/prodotto

Seleziona i dati

Aggiungi il seguente metodo all'interno del Manucontroller per recuperare tutti i record di la produziones tabella e i record correlati del prodotti tavolo.

funzione pubblica select_data ()

$ produttori = produttore :: all ();
foreach ($ produttori come $ manu)
$ prodotti = Product :: Where ('produttore_id', $ manu-> id)-> get ();
eco "Produttore: $ manu-> nome
";
foreach ($ prodotti come $ pro)

eco "

Nome prodotto: $ Pro-> Nome

";
eco "

Prezzo del prodotto: $ Pro-> Prezzo


";


Aggiungi il seguente percorso nel rotte \ web.PHP file per eseguire il file Select_data () metodo.

Route :: get ('Product_detail', 'manucontroller@select_data');

La seguente uscita apparirà dopo aver inserito l'URL di seguito nel browser.

http: // localhost: 8000/product_detail

Aggiorna i dati

Aggiungi il seguente metodo all'interno del Manucontroller Per aggiornare il record del prodotti Tabella che contiene id valore 2.

funzione pubblica update_data ()

$ Product = Product :: Find (2);
Echo "Dettagli del prodotto prima dell'aggiornamento:
";
eco "

Nome prodotto: $ Prodotto-> Nome

";
eco "

Prezzo del prodotto: $ Prodotto-> Prezzo


";
$ Product-> name = 'Walton Blender';
$ Product-> Price = 1000;
$ Product-> Save ();
Echo "Dettagli del prodotto dopo l'aggiornamento:
";
eco "

Nome prodotto: $ Prodotto-> Nome

";
eco "

Prezzo del prodotto: $ Prodotto-> Prezzo


";

Aggiungi il seguente percorso nel rotte \ web.PHP file per eseguire il file update_data () metodo.

Route :: get ('update_data', 'manucontroller@update_data');

La seguente uscita apparirà dopo aver inserito l'URL di seguito nel browser.

http: // localhost: 8000/update_data

Elimina i dati

Aggiungi il seguente metodo all'interno del Manucontroller per eliminare più record dal prodotti tavolo e un singolo record da produttori tavolo.

funzione pubblica delete_data ()
// Elimina più dati
Prodotto :: Destroy ([1, 2]);
// Elimina i dati singoli
Produttore :: Destroy (1);
eco "I dati vengono eliminati.";

Aggiungi il seguente percorso nel rotte \ web.PHP file per eseguire il file delete_data () metodo.

Route :: get ('delete_data', 'manucontroller@delete_data');

La seguente uscita apparirà dopo aver inserito l'URL di seguito nel browser.

http: // localhost: 8000/delete_data

Tutorial video

Conclusione

Questo tutorial ti ha mostrato come creare relazioni tra le tabelle e come implementare le operazioni CRUD usando Eloquent Orm. Anche i nuovi utenti di Laravel saranno in grado di comprendere alcuni usi di base dell'OPM eloquente dopo aver letto questo tutorial.