預計閱讀時間: 4 minuti
database.php
in config
目錄該檔案位於目錄中 config
您的 Laravel 應用程式。
在文件中 database.php
有可能 defi完成多個資料庫連線。每個連接都必須 definited 作為一個陣列。該數組應包含以下資訊:
driver
:要使用的資料庫驅動程式;host
: 名字 host
或地址 IP
資料庫伺服器;port
:資料庫伺服器連接埠號碼;database
:資料庫名稱;username
:連接資料庫的使用者名稱;password
:連接資料庫的密碼;例如下面的程式碼 defi有兩種資料庫連接,一種用於 MySQL,一種用於 PostgreSQL:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
後 defi建立資料庫連線後,您可以在程式碼中使用它們 Laravel
。為此,您可以使用 facade
資料庫的。那裡 facade
資料庫提供了與資料庫互動的統一介面。
要在資料庫連線之間切換,可以使用該方法 Connection()
的 facade
資料庫.方法 Connection()
將資料庫連線的名稱作為參數。
例如,以下程式碼從 mysql DB 轉到 pgsql DB:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
一旦切換到資料庫連接,您就可以使用它來查詢資料庫並與資料庫互動。
在 Laravel 中使用多個資料庫有很多好處,包括:
以下是在 Laravel 中使用多個資料庫的一些最佳實踐:
Connection()
從一開始 DB 到另一個 - 這將幫助您避免意外運行 詢問 南 數據庫 錯誤的。在 Laravel 中使用多個資料庫是提高應用程式效能、安全性和可擴展性的好方法。透過遵循本文中描述的最佳實踐,您可以在 Laravel 中有效地使用多個資料庫。
Ercole Palmeri