Laravel 17 : Query builder thực thi truy vấn CSDL

0
545

Trong phần trước Làm việc với cơ sở dữ liệu trong Laravel (Tạo bảng, xoá bảng,quản lý bảng) .Trước đây khi làm việc với PHP thuần, để tương tác với database các bạn sẽ cần phải kết nối với database và viết những câu truy vấn hết sức là phức tạp để gọi được dữ liệu ra.  Một khó khăn trong việc sử dụng các câu truy vấn này là việc truyền giá trị vào câu truy vấn. Các ứng dụng thực tế thường có các câu truy vấn rất phức tạp, nếu sử dụng raw SQL query sẽ rất khó khăn. Để giải quyết vấn đề này, Laravel đưa ra Laravel Query Builder giúp bạn có thể xây dựng bất kỳ câu truy vấn nào dù nó phức tạp đến đâu.

Laravel Query Builder sử dụng PDO (PHP Data Object, hệ thống API có sẵn của PHP để kết nối đến các CSDL thông dụng), bản thân API PDO đã bảo vệ bạn trước các tấn công SQL Injection, do đó khi xử dụng Query Builder bạn không cần lo lắng xử lý dữ liệu trước khi chèn vào database.

Và đương nhiên muốn thưc thi câu lệnh Query Builder ta vẫn phải kết nối với database. bằng cách thiết lập file. env – (Cái đó mình đã đề cập ở bài trước lên bài này sẽ không nói nữa.)

Chú ý

-Để sử dụng được các câu truy vấn trên bắt buộc các bạn phải:

  • Kết nối với cơ sở dữ liệu.
  • Nếu truy vấn trong controllers thì các bạn cần phải khai báo use DB; còn trong Route ,seeder thì không cần.

Truy xuất dữ liệu từ database

Lấy tất cả dữ liệu trong bảng.

tablename: là tên bảng bạn muốn truy vấn

Tất cả các câu truy vấn đều trả về dạng object hết (Ngoại trừ bạn muốn ép kiểu nó về array bằng toarray());

-Cú Pháp:

 

Lấy một bản trong bảng

Select cột trong bảng.

-Cú pháp:

 

Giới hạn kết quả lấy ra.

Mệnh đề where

+Điều kiện bằng:

 

+Điều kiện lớn hơn:

+Điều kiện nhỏ hơn:

+Điều kiện khác:

+Điều kiện lồng:

VD: giống where and

VD: giống where or

Truy vấn LIKE.

và một số where mở rộng

Thao tác với kết quả trả về

Sắp xếp kết quả trả về của truy vấn bằng phương thức orderBy()

Lấy ngẫu nhiên một bản ghi

GroupBy và having:

Insert một hoặc nhiều bản ghi vào CSDL

Update dữ liệu trong CSDL

Delete dữ liệu trong CSDL

Để xóa toàn bộ các bản ghi trong một bảng và thiết lập ID sinh tự động về 0 sử dụng lệnh truncate()

Chúc mọi người học tập tốt

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây