Thời gian đọc ước tính: 4 minuti
database.php
in config
thư mụcTập tin này nằm trong thư mục config
của ứng dụng Laravel của bạn.
Trong file database.php
là nó có thể defikết thúc nhiều kết nối cơ sở dữ liệu. Mọi kết nối đều phải defiđược liệt kê dưới dạng một mảng. Mảng phải chứa các thông tin sau:
driver
: trình điều khiển cơ sở dữ liệu sẽ sử dụng;host
: tên host
hoặc địa chỉ IP
của máy chủ cơ sở dữ liệu;port
: số cổng máy chủ cơ sở dữ liệu;database
: tên cơ sở dữ liệu;username
: tên người dùng để kết nối với cơ sở dữ liệu;password
: mật khẩu kết nối tới cơ sở dữ liệu;Ví dụ: đoạn mã sau defiCó hai kết nối cơ sở dữ liệu, một cho MySQL và một cho 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',
],
Sau khi có defiSau khi có kết nối cơ sở dữ liệu, bạn có thể sử dụng chúng trong mã của mình Laravel
. Để làm điều này, bạn có thể sử dụng facade
của cơ sở dữ liệu. Ở đó facade
cơ sở dữ liệu cung cấp một giao diện thống nhất để tương tác với cơ sở dữ liệu.
Để chuyển đổi giữa các kết nối cơ sở dữ liệu, bạn có thể sử dụng phương thức Connection()
của facade
Cơ sở dữ liệu. phương pháp Connection()
lấy tên của kết nối cơ sở dữ liệu làm đối số.
Ví dụ: đoạn mã sau đi từ cơ sở dữ liệu mysql đến cơ sở dữ liệu pssql:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Sau khi chuyển sang kết nối cơ sở dữ liệu, bạn có thể sử dụng kết nối đó để truy vấn và tương tác với cơ sở dữ liệu.
Có rất nhiều lợi ích khi sử dụng nhiều cơ sở dữ liệu trong Laravel, bao gồm:
Dưới đây là một số phương pháp hay nhất để sử dụng nhiều cơ sở dữ liệu trong Laravel:
Connection()
đi từ một DB sang cái khác - điều này sẽ giúp bạn tránh việc vô tình chạy truy vấn trên cơ sở dữ liệu sai.Sử dụng nhiều cơ sở dữ liệu trong Laravel có thể là một cách tuyệt vời để cải thiện hiệu suất, tính bảo mật và khả năng mở rộng cho ứng dụng của bạn. Bằng cách làm theo các phương pháp hay nhất được mô tả trong bài viết này, bạn có thể sử dụng nhiều cơ sở dữ liệu trong Laravel một cách hiệu quả.
Ercole Palmeri
Hàng triệu người trả tiền cho các dịch vụ phát trực tuyến, trả phí thuê bao hàng tháng. Ý kiến chung là bạn…
Coveware của Veeam sẽ tiếp tục cung cấp dịch vụ ứng phó sự cố tống tiền trên mạng. Coveware sẽ cung cấp khả năng điều tra và khắc phục…
Bảo trì dự đoán đang cách mạng hóa ngành dầu khí, với cách tiếp cận sáng tạo và chủ động trong quản lý nhà máy.…
CMA Vương quốc Anh đã đưa ra cảnh báo về hành vi của Big Tech trên thị trường trí tuệ nhân tạo. Ở đó…