首頁 >後端開發 >php教程 >PHP8.0中的ORM擴充庫:Eloquent

PHP8.0中的ORM擴充庫:Eloquent

WBOY
WBOY原創
2023-05-14 10:22:351765瀏覽

隨著開發者對於資料互動需求的不斷增長,ORM成為了現代開發中不可或缺的一部分。它能夠將資料庫操作隱藏在後台,並提供簡化的API來進行CRUD操作。在這些ORM函式庫中,Eloquent引起了不少開發者的注意,因為它在Laravel框架中已經被廣泛的使用了。在PHP8.0中,Eloquent作為獨立的擴充庫,現在可以在您的專案中使用。

在本文中,我們將探討Eloquent的一些關鍵特性,並介紹如何在您的PHP專案中整合此擴充程式庫。

安裝Eloquent

在安裝Eloquent之前,您需要安裝PHP8.0或更高版本以確保相容性。可以使用[composer](https://getcomposer.org/) 安裝Eloquent,只需在終端機執行以下命令:

composer require illuminate/database

Eloquent 模型

在Eloquent 中查詢和修改資料庫的基礎是模型(Model)。模型是ORM的核心概念,並且通常都會對應到資料庫表。 Eloquent模型提供了一個非常便捷的方法來執行諸如創建、更新和刪除等標準操作。

在Eloquent中,Model類別具有可定義的屬性和方法,用於與資料庫表的互動。來看一個簡單的範例:

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}

這個範例定義了一個User模型,它包含填滿屬性 $fillable。這告訴Eloquent哪些屬性可以在批次分配時設定。在這種情況下,只有 $fillable 屬性中列出的屬性可以透過陣列賦值進行設定。

資料庫連接

可以透過以下方式來設定資料庫連接:

use IlluminateDatabaseCapsuleManager as DB;

$db = new DB;

$db->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'username',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);

$db->setAsGlobal();

#透過addConnection方法,Eloquent會在應用程式中建立一個資料庫連接。您可以為每個頻道添加多個連接,在不同的場景下使用不同的連接。

setAsGlobal方法會使這個連接實例化的資料庫連接成為全域連接,在後續的操作中將會優先透過這個連接進行。

建立新記錄

可以使用Eloquent建立新的資料記錄,例如:

$user = new User;
$user->name = 'John Doe';
$user->email = 'john.doe@example.com';
$user->password = 'secret';
$user->save();

查詢記錄

可以透過Eloquent查詢數據,例如:

$users = User::all();

$user = User::find(1);

$users = User::where('active', true)
             ->orderBy('name', 'desc')
             ->take(10)
             ->get();

更新記錄

可以使用Eloquent更新現有記錄,例如:

$user = User::find(1);
$user->name = 'New Name';
$user->save();

在更改記錄時,應該使用save 方法。如果只想更新某些特定字段,可以使用update 方法:

User::where('id', 1)
    ->update(['name' => 'New Name']);

刪除記錄

可以使用Eloquent刪除現有記錄,例如:##

$user = User::find(1);
$user->delete();

結論

Eloquent是一個功能強大的ORM庫,並且作為Laravel框架的一部分而聞名。但是,透過獨立的擴充函式庫,它可以讓更多的 PHP 應用程式受益。透過概述本文,您現在應該對 Eloquent 有了更好的理解,並且可以開始在自己的 PHP8.0 應用程式中使用它。

以上是PHP8.0中的ORM擴充庫:Eloquent的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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