Nhiều điều kiện trong Laravel 8

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

Chủ Đề