Laravel是一款受歡迎的PHP Web框架,由於其簡單易用,廣受歡迎。 Laravel框架以其實現卓越的Eloquent ORM而著稱,ORM是Object-Relational Mini映射,支援使用PHP定義資料庫模型,並根據這些模型提供輕鬆的資料庫互動方式。
本文將詳細介紹如何使用Laravel Eloquent建立模型,以實現快速可靠地與資料庫互動。
什麼是 Laravel Eloquent
Eloquent ORM是Laravel框架內建的一種ORM系統,它可以讓你用PHP與資料庫進行交互,而不是直接在MySQL語句中操作資料。 Eloquent映射了一系列的資料表到對象,所以你可以命名並操作資料表中的每個欄位而不必直接執行SQL語句。
要使用Laravel Eloquent ORM,你必須在建立資料庫模型之前先配置資料庫連接,如下所示。
<?php use IlluminateSupportFacadesDB; $connection = DB::connection(); $name = $connection->getDatabaseName();
一般而言,Laravel框架已經在.env
檔案中配置了資料庫連接,在本地開發中一般只需保持預設連接即可。
如何使用 Laravel Eloquent 建立模型
Laravel Eloquent ORM提供了一個簡單而強大的方式來定義模型,而不用寫複雜的SQL語句。
在Laravel中,每個Eloquent模型都關聯一個資料庫表。我們可以使用php artisan
指令建立資料庫遷移檔案後,使用php artisan make:model
指令建立一個Eloquent模型。
下面的範例展示如何建立一個模型:
php artisan make:model Example
這將在app目錄下建立一個Example.php文件,以下是具體的程式碼:
<?php namespace App; use IlluminateDatabaseEloquentModel; class Example extends Model { // }
使用這個簡單的模型,我們可以開始定義並建模資料表,具體的建模見下:
Schema::create(`example`, function ($table) { $table->increments(`id`); $table->string(`title`); $table->string(`body`); $table->timestamps(); });
在定義完模型後,我們可以透過Eloquent的查詢建構器建立查詢,下面是一個Laravel Eloquent查詢的範例:
$example = Example::find(1);
在該查詢中,Example::find(1)
讀取預設表example
中的記錄,並傳回一個AppExample
模型實例。在此模型實例上我們可以執行內部函數或屬性,例如:
$title = $example->title;
上述程式碼會輸出表中id為1的記錄的title列的值。
為資料表模型加入關聯
在Laravel Eloquent ORM中,我們可以透過加入關聯關係來表達資料模型之間的關係,例如下述兩個模型之間的關聯:
class Country extends Model { public function user() { return $this->hasMany(User::class); } } class User extends Model { public function country() { return $this->belongsTo(Country::class); } }
在這個模型中,一個國家可以有多個用戶,因此Country
模型hasMany
關聯用戶模型;另一方面,一個用戶只能來自一個國家,因此模型User
使用belongsTo
方法從屬於國家模型。
透過定義這些關係,我們可以在查詢時使用with
方法輕鬆地取得對應的關聯模型,例如:
$countries = Country::with('user')->get();
在上述查詢中, Country::with('user')
傳回透過Country::user()
定義的關聯關係的使用者記錄。這些集合可以在傳回的集合中存取這些集合,例如:
foreach ($countries as $country) { foreach ($country->user as $user) { echo $user->name; } }
總結
Laravel Eloquent ORM是Laravel框架的最佳特性之一,它簡化了開發人員與資料庫互動的複雜性。透過設定資料庫連接、建立模型並定義關聯關係,我們可以輕鬆地與資料庫進行互動並從資料庫中檢索資料。在使用Laravel時,請記住使用Laravel Eloquent ORM以便更有效率、精簡地建立資料庫模型。
以上是Laravel開發:如何使用Laravel Eloquent建構模型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!