首頁  >  文章  >  php框架  >  Laravel開發:如何使用Laravel Eloquent建構模型?

Laravel開發:如何使用Laravel Eloquent建構模型?

PHPz
PHPz原創
2023-06-14 10:14:171604瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn