hotantien
  • Laravel
  • WordPress
  • SEO
  • Đồ họa
  • Javascript
  • Download
  • Công cụ
No Result
View All Result
hotantien
No Result
View All Result
Home Laravel

Sử dụng nhiều cơ sở dữ liệu – Multiple DB trong Laravel

in Laravel
Mục lục ẩn
1. Cấu hình kết nối Database
2. Cấu hình .env
3. Sử dụng Eloquent
4. Sử dụng Query Builder

Cấu hình kết nối Database

Mặc định ở tệp config/database.php đã có sẵn mẫu các kết nối thường dùng và các thành phần cần cấu hình. Các driver và các hệ quản trị cơ sở dữ liệu tương ứng:

  • sqlite – SQLite
  • mysql – MySQL
  • pgsql – PostgreSQL
  • sqlsrv – SQL Sever

Ví dụ: Mình cần kết nối đến hai hệ quản trị cơ sở dữ liệu sử dụng SQL Sever. Mình sẽ tạo một kết nối mới dựa vào phần cấu hình mẫu của Laravel và xóa các kết nối không dùng, mình sẽ có:

'connections' => [

    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '1433'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'prefix_indexes' => true,
    ],

    'sqlsrv_book' => [
        'driver' => 'sqlsrv',
        'url' => env('DATABASE_URL_BOOK'),
        'host' => env('DB_HOST_BOOK', 'localhost'),
        'port' => env('DB_PORT_BOOK', '1433'),
        'database' => env('DB_DATABASE_BOOK', 'forge'),
        'username' => env('DB_USERNAME_BOOK', 'forge'),
        'password' => env('DB_PASSWORD_BOOK', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'prefix_indexes' => true,
    ],

],

Cấu hình .env

Sau khi cấu hình thì gọi ra và đặt giá trị cho nó thôi. Thế là xong phần kết nối.

DB_CONNECTION=sqlsrv
DB_HOST=113.114.115.00
DB_PORT=1433
DB_DATABASE=user
DB_USERNAME=sa
DB_PASSWORD=password

DB_CONNECTION=sqlsrv_book
DB_HOST_BOOK=115.116.117.00
DB_PORT_BOOK=1433
DB_DATABASE_BOOK=book
DB_USERNAME_BOOK=sa
DB_PASSWORD_BOOK=password

Sử dụng Eloquent

Sau khi tạo Model bạn thêm giá trị  protected $connection để Model  nhận chính xác cơ sở dữ liệu.

protected $connection = 'sqlsrv';

Sử dụng Query Builder

Cũng tương tự như Eloquent trước gọi dữ liệu cần xác định connection để nhận chính xác cơ sở dữ liệu.

// Thay vì
$users = DB::table('users')->get();
$books = DB::table('books')->get();
// Thì sẽ
$users = DB::connection('sqlsrv')->table('users')->get();
$books= DB::connection('sqlsrv_book')->table('books')->get();

 

Tags: Database
ShareShareSend

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết mới nhất

Google reCaptcha cho Laravel

Xử lý thời gian trong WordPress

7 kinh nghiệm khi mua Hosting giá rẻ

Kích thước chuẩn hình ảnh Google Ads, Facebook Ads

VPS / Hosting nên dùng

  • Azdigi.com
  • Vietnix.vn

Liên kết

  • Tranhuuvan.com
  • Tienemall.com

Resource

  • Freepik.com
  • Flaticon.com
  • Unsplash.com

© 2022 Blog của Tiến - Hosted by AZDigi

No Result
View All Result
  • Laravel
  • WordPress
  • SEO
  • Đồ họa
  • Javascript
  • Download
  • Công cụ

© 2022 Blog của Tiến - Hosted by AZDigi