Trong bài viết này, chúng ta sẽ xem cách sử dụng nhiều điều kiện where trong Laravel. Bạn có thể sử dụng nhiều điều kiện where với Eloquent Model hoặc Database Query Builder. Sau khi googling, chúng tôi đã tìm ra nhiều cách để sử dụng nhiều điều kiện where. Vì vậy, hãy xem từng cách hữu ích và đơn giản với các ví dụ
Laravel Nhiều điều kiện
Laravel cung cấp một phương thức sẵn có bằng cách sử dụng để chúng ta có thể dễ dàng xây dựng nhiều truy vấn điều kiện ở đâu trên Trình tạo truy vấn Mô hình hoặc Cơ sở dữ liệu
Bạn có thể viết phương thức
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];1 với cú pháp sau
where['column_name', 'operator', 'value']
ghi chú. Nếu bạn không vượt qua toán tử thì theo mặc định nó sẽ được coi là điều kiện
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];2
01 Ví dụ. Laravel đơn giản Nhiều điều kiện
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];
Ví dụ trên sẽ tạo ra truy vấn SQL sau
select * from posts where id = 1 and status = 'publish'
02 Ví dụ. Vượt qua mảng dưới dạng điều kiện
$whereCondition = [ ['status', '=', 'publish'], ['category', '=', 'tutorial'], ['date', '>=', '2020-01-01'], ['date', '=', 100] ->get[];
Ví dụ trên sẽ tạo truy vấn SQL sau
________số 8_______
04 Ví dụ. Chuỗi phức tạp với nhóm tham số
use Illuminate\Database\Eloquent\Builder; $user->posts[] ->where[function [Builder $query] { return $query->where['status', 'publish'] ->orWhere['likes', '>=', 100]; }] ->get[];
Ví dụ trên sẽ tạo ra SQL sau
select * from posts where user_id = ? and [status = 'publish' or likes >= 100]
05 Ví dụ. Sử dụng phạm vi truy vấn
Đây là cách tiêu chuẩn để khai báo các điều kiện bổ sung. Nó rất hữu ích để xây dựng mã dễ đọc hơn và có thể tái sử dụng
Bạn có thể xác định phạm vi trong mô hình của mình bằng cách tạo
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];3. Điều đó có nghĩa là bạn cần thêm tiền tố vào từ
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];4 với tên
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];5. Ví dụ bạn muốn tạo một phương thức
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];6 thì phạm vi của bạn sẽ là
$posts = Post::where['id', '=', 1] ->where['status', '=', 'publish'] ->get[];7. Hãy xem ví dụ
ứng dụng/Mô hình/Bài đăng. php