เวลาในการอ่านโดยประมาณ: 4 นาที
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 ไปยังอีกที่หนึ่ง - สิ่งนี้จะช่วยให้คุณหลีกเลี่ยงการทำงานโดยไม่ตั้งใจ การสอบถาม sul ฐานข้อมูล ผิด.การใช้ฐานข้อมูลหลายฐานข้อมูลใน Laravel อาจเป็นวิธีที่ยอดเยี่ยมในการปรับปรุงประสิทธิภาพ ความปลอดภัย และความสามารถในการปรับขนาดของแอปพลิเคชันของคุณ ด้วยการปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดที่อธิบายไว้ในบทความนี้ คุณสามารถใช้หลายฐานข้อมูลใน Laravel ได้อย่างมีประสิทธิภาพ
Ercole Palmeri
ผู้คนนับล้านชำระค่าบริการสตรีมมิ่ง โดยจ่ายค่าธรรมเนียมการสมัครสมาชิกรายเดือน เป็นความเห็นทั่วไปที่คุณ...
Coveware by Veeam จะยังคงให้บริการตอบสนองต่อเหตุการณ์การขู่กรรโชกทางไซเบอร์ต่อไป Coveware จะนำเสนอความสามารถในการนิติเวชและการแก้ไข...
การบำรุงรักษาเชิงคาดการณ์กำลังปฏิวัติภาคส่วนน้ำมันและก๊าซ ด้วยแนวทางเชิงรุกและนวัตกรรมในการจัดการโรงงาน...
UK CMA ได้ออกคำเตือนเกี่ยวกับพฤติกรรมของ Big Tech ในตลาดปัญญาประดิษฐ์ ที่นั่น…