隨著開發者對於資料互動需求的不斷增長,ORM成為了現代開發中不可或缺的一部分。它能夠將資料庫操作隱藏在後台,並提供簡化的API來進行CRUD操作。在這些ORM函式庫中,Eloquent引起了不少開發者的注意,因為它在Laravel框架中已經被廣泛的使用了。在PHP8.0中,Eloquent作為獨立的擴充庫,現在可以在您的專案中使用。
在本文中,我們將探討Eloquent的一些關鍵特性,並介紹如何在您的PHP專案中整合此擴充程式庫。
在安裝Eloquent之前,您需要安裝PHP8.0或更高版本以確保相容性。可以使用[composer](https://getcomposer.org/) 安裝Eloquent,只需在終端機執行以下命令:
composer require illuminate/database
在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();
以上是PHP8.0中的ORM擴充庫:Eloquent的詳細內容。更多資訊請關注PHP中文網其他相關文章!