[Laravel] Kết nối cơ sở dữ liệu

Bởi Thu Ton vào December 2015

Ở bài trước, chúng ta đã có dịp đề cập về Controller trong Laravel Framework. Trong bài này, mình sẽ tiếp tục hưỡng dẫn các bạn thao tác với mô hình cơ sở dữ liệu. Từ đó, chúng ta có thể tiến tới viết ứng dụng thực tế trên nền Laravel Framework.
– Laravel kết nối tới cơ sở dữ liệu và chạy truy vấn cực kỳ đơn giản. Cấu hình nằm tại file app/config/database.php. Trong file này thì định nghĩa tất cả những loại kết nối cơ sở dữ liệu, tât nhiên là chúng cũng có loại cơ sở kết nối mặc định. Những ví dụ dưới đây được áp dụng cho tất cả những loại cơ sở dữ liệu mà được cung cấp trong file này.Hiện tại thì Laravel hổ trợ những hệ thống cơ sở dữ liệu sau: MySQL, Postgres, SQLite, và SQL Server.

Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework

– Các bạn mở file app/config/database.php và tìm tới dòng cấu hình

Với đoạn cấu hình trên thì các bạn cần quan tâm cho mình 4 thông số cấu hình sau:

  1. host: Cấu hình host,các bạn giữ nguyên là localhost
  2. database: Cấu hình tên cơ sở dữ liệu mà bạn đang sử dụng
  3. username: Tài khoản có quyền truy cập vào cơ sở dữ liệu
  4. password: Mật khẩu của tài khoản ở trên

Do mình đang sử dụng Xampp lên mặc định username = 'root'password = ''
Để phục vụ cho những đoạn code test này mình sẽ tạo 1 bảng dữ liệu sau:

Thực hiện chạy câu lệnh truy vấn

Sau khi đã kết nối vào hệ thống, tiếp đến ta tiến hành thực hiện chạy thử các câu truy vấn sau để thử nghiệm nhé.
1.Chạy câu lệnh truy vấn dữ liệu

Vơi phương thức selectchúng ta sẽ lấy ra được dữ liệu trả về dạng mảng
2.Chạy câu lệnh thêm dữ liệu vào cơ sở dữ liệu

3.Chạy câu lệnh cập nhật dữ liệu

4.Chạy câu lệnh xóa dữ liệu

Ghi chú: Câu lệnh insert và câu lệnh delete luôn trả về con số record bị ảnh hưởng
5.Chạy câu lệnh xóa bảng

Database Transactions

Để thao tác những câu lệnh bên trong transaction cơ sở dữ liệu, bạn có thể dùng phương thức transaction

Ghi chú: Bất kỳ câu lệnh nào cũng được đưa vào transaction, và transaction cũng sẽ thực thi rollback một cách tự động
1. Để bắt đầu 1 transaction ta thực hiện

2. Bạn cũng có thể rollback qua phương thức

3. Cuối cùng thì bạn cần commit nó lên

Accessing Connections

Khi mà bạn sử dụng nhiều hơn 1 cơ sở dữ liệu và muốn thực hiện truy vấn thì các bạn có thể sử dụng phương thứcDB::connection
Ví dụ mình có cấu hình như sau,với 2 cơ sở dữ liệu

Và kết nối mặc định của chúng ta sẽ kết nối tới cơ sở dữ liệu mysql,còn trong trường hợp muốn kết nối tới cơ sở dữ liệu 2 ta sử dụng:

– Kết thúc bài viết: Qua bài viết này mình đã hướng dẫn cho các bạn cấu hình cơ sở dữ liệu cũng như có thể thực hiện được những câu lệnh truy vấn đơn giản.Ngoài ra trong Laravel còn rất nhiều cách để truy vấn cũng như làm việc với cơ sở dữ liệu.Sang bài sau mình sẽ giới thiệu cho các bạn về Query Builder trong Laravel Framework