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

Nội dung bài viết

  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
Theo dõi
Đăng nhập
Thông báo của
guest
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận

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

Validate hình ảnh base64 Laravel

[SEO Onpage] 200 yếu tố xếp hạng của Google: Onpage

Tất cả Shortcode WooCommerce

Google reCaptcha cho Laravel

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

wpDiscuz
0
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
()
x
| Trả lời