Trình tạo truy vấn cơ sở dữ liệu cung cấp giao diện thuận tiện, thông thạo để tạo và chạy các truy vấn cơ sở dữ liệu. Nó có thể được sử dụng để thực hiện hầu hết các hoạt động cơ sở dữ liệu trong ứng dụng của bạn và hoạt động trên tất cả các hệ thống cơ sở dữ liệu được hỗ trợ
Ghi chú. Trình tạo truy vấn của Laravel sử dụng liên kết tham số PDO xuyên suốt để bảo vệ ứng dụng của bạn khỏi các cuộc tấn công SQL injection. Không cần xóa các chuỗi được truyền dưới dạng ràng buộc
chọn
Lấy tất cả các hàng từ một bảng
$users = DB::table['users']->get[];
Chunking kết quả từ một bảng
DB::table['users']->chunk[100, function[$users]
Bạn có thể ngừng xử lý các khối tiếp theo bằng cách trả lại
$user = DB::table['users']->where['name', 'John']->first[];
9 từ $name = DB::table['users']->where['name', 'John']->pluck['name'];
0DB::table['users']->chunk[100, function[$users]
Truy xuất một hàng từ một bảng
$user = DB::table['users']->where['name', 'John']->first[];
Truy xuất một cột từ một hàng
$name = DB::table['users']->where['name', 'John']->pluck['name'];
Truy xuất danh sách các giá trị cột
$roles = DB::table['roles']->lists['title'];
Phương thức này sẽ trả về một mảng các chức danh vai trò. Bạn cũng có thể chỉ định cột khóa tùy chỉnh cho mảng được trả về
________số 8Chỉ định một mệnh đề chọn
$users = DB::table['users']->select['name', 'email']->get[];
$users = DB::table['users']->distinct[]->get[];
$users = DB::table['users']->select['name as user_name']->get[];
Thêm một mệnh đề chọn vào một truy vấn hiện có
DB::table['users']->chunk[100, function[$users]
0Sử dụng toán tử Where
DB::table['users']->chunk[100, function[$users]
1Hoặc Tuyên bố
DB::table['users']->chunk[100, function[$users]
0Sử dụng ở đâu giữa
DB::table['users']->chunk[100, function[$users]
1Sử dụng Where Not Between
DB::table['users']->chunk[100, function[$users]
2Sử dụng Where In với một mảng
DB::table['users']->chunk[100, function[$users]
3Sử dụng Where Null để tìm bản ghi với giá trị chưa đặt
DB::table['users']->chunk[100, function[$users]
4Mệnh đề động Where
Bạn thậm chí có thể sử dụng các câu lệnh where "động" để xây dựng trôi chảy các câu lệnh where bằng các phương thức ma thuật
DB::table['users']->chunk[100, function[$users]
5Sắp xếp theo, theo nhóm và có
DB::table['users']->chunk[100, function[$users]
6Bù trừ & Giới hạn
DB::table['users']->chunk[100, function[$users]
7tham gia
Trình tạo truy vấn cũng có thể được sử dụng để viết các câu lệnh nối. Hãy xem các ví dụ sau
Tuyên bố tham gia cơ bản
DB::table['users']->chunk[100, function[$users]
8Tuyên bố tham gia trái
DB::table['users']->chunk[100, function[$users]
9Bạn cũng có thể chỉ định các mệnh đề nối nâng cao hơn
DB::table['users']->chunk[100, function[$users]
0Nếu bạn muốn sử dụng mệnh đề kiểu "where" trong các phép nối của mình, bạn có thể sử dụng các phương thức
$name = DB::table['users']->where['name', 'John']->pluck['name'];
1 và $name = DB::table['users']->where['name', 'John']->pluck['name'];
2 trên một phép nối. Thay vì so sánh hai cột, các phương thức này sẽ so sánh cột với một giá trịDB::table['users']->chunk[100, function[$users]
1Nâng cao
Nhóm tham số
Đôi khi, bạn có thể cần tạo các mệnh đề where nâng cao hơn, chẳng hạn như "nơi tồn tại" hoặc các nhóm tham số lồng nhau. Trình tạo truy vấn của Laravel cũng có thể xử lý những điều này
DB::table['users']->chunk[100, function[$users]
2Truy vấn trên sẽ tạo ra SQL sau
DB::table['users']->chunk[100, function[$users]
3Tồn tại báo cáo
DB::table['users']->chunk[100, function[$users]
4Truy vấn trên sẽ tạo ra SQL sau
DB::table['users']->chunk[100, function[$users]
5uẩn
Trình tạo truy vấn cũng cung cấp nhiều phương pháp tổng hợp, chẳng hạn như
$name = DB::table['users']->where['name', 'John']->pluck['name'];
3, $name = DB::table['users']->where['name', 'John']->pluck['name'];
4, $name = DB::table['users']->where['name', 'John']->pluck['name'];
5, $name = DB::table['users']->where['name', 'John']->pluck['name'];
6 và $name = DB::table['users']->where['name', 'John']->pluck['name'];
7Sử dụng các phương pháp tổng hợp
DB::table['users']->chunk[100, function[$users]
6biểu thức thô
Đôi khi bạn có thể cần sử dụng biểu thức thô trong truy vấn. Các biểu thức này sẽ được đưa vào truy vấn dưới dạng chuỗi, vì vậy hãy cẩn thận để không tạo bất kỳ điểm chèn SQL nào. Để tạo một biểu thức thô, bạn có thể sử dụng phương thức
$name = DB::table['users']->where['name', 'John']->pluck['name'];
8Sử dụng biểu thức thô
DB::table['users']->chunk[100, function[$users]
7phụ trang
Chèn bản ghi vào bảng
DB::table['users']->chunk[100, function[$users]
8Chèn bản ghi vào bảng có ID tăng tự động
Nếu bảng có id tăng tự động, hãy sử dụng
$name = DB::table['users']->where['name', 'John']->pluck['name'];
9 để chèn bản ghi và truy xuất idDB::table['users']->chunk[100, function[$users]
9Ghi chú. Khi sử dụng PostgreSQL, phương thức insertGetId mong đợi cột tăng tự động được đặt tên là "id"
Chèn nhiều bản ghi vào một bảng
$user = DB::table['users']->where['name', 'John']->first[];
0cập nhật
Cập nhật các bản ghi trong một bảng
Tăng hoặc giảm giá trị của một cột
$user = DB::table['users']->where['name', 'John']->first[];
1Bạn cũng có thể chỉ định các cột bổ sung để cập nhật
$user = DB::table['users']->where['name', 'John']->first[];
2xóa
Xóa các bản ghi trong một bảng
$user = DB::table['users']->where['name', 'John']->first[];
3Xóa tất cả các bản ghi khỏi một bảng
$user = DB::table['users']->where['name', 'John']->first[];
4Cắt bớt một bảng
$user = DB::table['users']->where['name', 'John']->first[];
5đoàn thể
Trình tạo truy vấn cũng cung cấp một cách nhanh chóng để "kết hợp" hai truy vấn với nhau
$user = DB::table['users']->where['name', 'John']->first[];
6Phương thức
$roles = DB::table['roles']->lists['title'];
0 cũng có sẵn và có cùng chữ ký phương thức như $roles = DB::table['roles']->lists['title'];
1khóa bi quan
Trình tạo truy vấn bao gồm một vài hàm để giúp bạn thực hiện "khóa bi quan" trên các câu lệnh CHỌN của mình