laravel

Laravel Eloquent ORM Tutorial

Laravel Eloquent ORM Tutorial
Eloquent ORM (Object Relation Mapper) se snadno používá pro uživatele, kteří vědí, jak používat objekty v PHP. ORM je důležitým rysem Laravelova rámce, který je považován za silný a nákladný rys Laravelu. ORM pracuje s databázovými objekty a používá se k vytváření vztahů s databázovými tabulkami. Každá tabulka databáze je mapována s konkrétním výmluvným modelem. Objekt modelu obsahuje různé metody pro načtení a aktualizaci dat z databázové tabulky. Výmluvný ORM lze použít s více databázemi implementací ActiveMethod. Tato funkce usnadňuje úkoly související s databází, jako je definování vztahů, definováním databázových tabulek. Tento kurz vysvětluje, jak použít Laravel Eloquent ORM ve vašich projektech Laravel.

Předpoklady

Před zahájením tohoto kurzu musíte provést následující úkoly:

  1. Nainstalujte novou kopii projektu Laravel
  2. Vytvořte připojení k databázi

Vytvořit tabulky

Chcete-li dokončit kroky tohoto kurzu, musíte v databázi vytvořit dvě tabulky. Jedná se o tabulku výrobce a tabulku produktů. Vztah mezi těmito dvěma tabulkami bude jeden k mnoha. Spuštěním následujícího příkazu vytvořte migrační soubor pro vytvoření struktury výrobci stůl.

$ php řemeslník make: migrace create_manufacturer_table

Otevřete migrační soubor z databáze \ migrace složku a upravte nahoru() metoda s následujícím kódem. Tabulka bude obsahovat šest polí: ID, jméno, adresa, telefon, created_at a updated_at.

veřejná funkce nahoru ()

Schéma :: create ('Výrobci', funkce (tabulka Blueprint $)
$ table-> id ();
$ table-> string ('name') -> unique ();
$ table-> text ('address');
$ table-> string ('phone');
$ table-> timestamps ();
);

Spuštěním následujícího příkazu vytvořte migrační soubor pro vytvoření struktur souboru produkty stůl.

$ php řemeslník make: migrace create_product_table

Otevřete migrační soubor z databáze \ migrace složku a upravte nahoru() metoda s následujícím kódem. Tabulka bude obsahovat sedm polí: ID, název, cena, id_výrobce, created_at a updated_at. Zde je manufacturing_id cizí klíč pro produkty stůl.

veřejná funkce nahoru ()

Schéma :: create ('products', function (Blueprint $ table)
$ table-> id ();
$ table-> string ('name') -> unique ();
$ table-> decimal ('price', 10, 2);
$ table-> bigInteger ('Manufacturer_ID') -> unsigned ();
$ table-> cizí ('id_výrobce') -> reference ('id') -> na ('výrobci');
$ table-> timestamps ();
);

Spuštěním následujícího příkazu migrate vytvořte tabulky v databázi.

$ php řemeslník migruje

Vytvořit modely

Musíte také vytvořit dva modely s názvem Výrobce a Produkt, pro dříve vytvořené tabulky. Spuštěním následujícího příkazu vytvořte Výrobce Modelka.

$ php řemeslník make: model Výrobce

Otevřete model z aplikace složku a upravte kód následujícím kódem. $ vyplnitelné se používá k definování povinných polí výroba stůl. The produkty() metoda se používá k nastavení typu relace s produkty stůl.

jmenný prostor App;
použijte Illuminate \ Database \ Eloquent \ Model;
třída Výrobce rozšiřuje Model

chráněno $ fillable = [
'name', 'address', 'phone',
];
produkty veřejné funkce ()

vrátit $ this-> hasMany ('App \ Product');

Spuštěním následujícího příkazu vytvořte Produkt Modelka.

Otevřete model z aplikace složku a upravte kód následujícím kódem. $ vyplnitelné se používá k definování povinných polí produkty stůl. The výrobci () metoda se používá k nastavení typu relace s vyrábí stůl.

$ php řemeslník make: model Produkt
jmenný prostor App;
použijte Illuminate \ Database \ Eloquent \ Model;
třída Produkt rozšiřuje Model

chráněné $ fillable = [
'name', 'price', 'Manufacturer_id'
];
výrobci veřejných funkcí ()

vrátit $ this-> patří k („App \ Manufacturer“);

Vytvořit řadiče

Vytvořte spuštěním následujících příkazů ManuController a ProductController.

$ php artisan make: controller ManuController
$ php artisan make: controller ProductController

CRUD operace využívající výmluvný ORM

Níže jsou zobrazeny operace CRUD přidáním metod k těmto dvěma řadičům.

Vkládání dat

Tabulka výrobce

Přidat Výrobce model v horní části ManuController. Dále přidejte následující kód dovnitř ManuController model pro vložení dvou záznamů do vyrábí stůl.

veřejná funkce create_data ()

Výrobce :: create ([
'name' => 'ABC Trade',
'address' => '34, Mirpur, Dhaka ',
'phone' => '01878562323'
]);
Výrobce :: create ([
'name' => 'Rahim Afroze',
'address' => '123, Dhanmondi, Dhaka',
'phone' => '01878562900'
]);
echo "Data výrobce vložena";

Přidejte následující trasu do trasy \ web.php soubor k provedení create_data () metoda.

Route :: get ('manu', '[email protected] _data');

Po zadání adresy URL níže v prohlížeči se zobrazí následující výstup.

http: // localhost: 8000 / manu

Tabulka produktů

Přidat Produkt model v horní části ProductController. Dále přidejte následující kód dovnitř ProductController vložit tři záznamy do produkty stůl.

index veřejné funkce ()

Produkt :: vytvořit ([
'name' => 'TV 32 Inche',
'price' => 10 000,
'manufacturing_id' => 1
]);
Produkt :: vytvořit ([
'name' => 'Walton Fridge',
'price' => 20000,
'manufacturing_id' => 1
]);
Produkt :: vytvořit ([
'name' => 'IPS 7832',
'price' => 25000,
'Manufacturer_ID' => 2
]);
echo "Data produktu vložena";

Přidejte následující trasu do trasy \ web.php soubor k provedení index() metoda.

Route :: get ('product', '[email protected]');

Po zadání níže uvedené adresy URL v prohlížeči se zobrazí následující výstup.

http: // localhost: 8000 / produkt

Vyberte Data

Přidejte následující metodu dovnitř ManuController získat všechny záznamy o výrobatabulka a související záznamy produkty stůl.

veřejná funkce select_data ()

$ Výrobci = Výrobce :: vše ();
foreach ($ výrobci jako $ manu)
$ products = Product :: where ('manufacturing_id', $ manu-> id) -> get ();
ozvěna "Výrobce: $ manu-> name
";
foreach ($ produkty jako $ pro)

ozvěna "

Název produktu: $ pro-> name

";
ozvěna "

Cena produktu: $ pro-> cena


";


Přidejte následující trasu do trasy \ web.php soubor k provedení select_data () metoda.

Route :: get ('product_detail', '[email protected] _data');

Po zadání níže uvedené adresy URL v prohlížeči se zobrazí následující výstup.

http: // localhost: 8000 / product_detail

Aktualizovat data

Přidejte následující metodu dovnitř ManuController aktualizovat záznam produkty tabulka, která obsahuje id hodnota 2.

public function update_data ()

$ product = Product :: find (2);
echo "Podrobnosti o produktu před aktualizací:
";
ozvěna "

Název produktu: $ product-> name

";
ozvěna "

Cena produktu: $ product-> cena


";
$ product-> name = 'Walton Blender';
$ produkt-> cena = 1000;
$ product-> save ();
echo "Podrobnosti o produktu po aktualizaci:
";
ozvěna "

Název produktu: $ product-> name

";
ozvěna "

Cena produktu: $ product-> cena


";

Přidejte následující trasu do trasy \ web.php soubor k provedení update_data () metoda.

Route :: get ('update_data', '[email protected] _data');

Po zadání níže uvedené adresy URL v prohlížeči se zobrazí následující výstup.

http: // localhost: 8000 / update_data

Odstranit data

Přidejte následující metodu dovnitř ManuController odstranit více záznamů z produkty tabulka a jeden záznam z výrobci stůl.

veřejná funkce delete_data ()
// Smazat více dat
Produkt :: zničit ([1, 2]);
// Odstranit jednotlivá data
Výrobce :: zničit (1);
echo "Data jsou smazána.";

Přidejte následující trasu do trasy \ web.php soubor k provedení delete_data () metoda.

Route :: get ('delete_data', '[email protected] _data');

Po zadání adresy URL níže v prohlížeči se zobrazí následující výstup.

http: // localhost: 8000 / delete_data

Výukový program pro video

Závěr

Tento kurz vám ukázal, jak vytvořit vztahy mezi tabulkami a jak implementovat operace CRUD pomocí výmluvného ORM. I noví uživatelé Laravelu budou po přečtení tohoto tutoriálu schopni pochopit některá základní použití Eloquent OPM.

Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...
Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...
Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...