Liệt kê các cách sử dụng hàm where lồng nhau trong Laravel

Bài viết tổng hợp các cách sử dụng hàm `where` lồng nhau trong Laravel, giúp người đọc hiểu rõ cách xây dựng các truy vấn phức tạp trong ứng dụng.

Laravel cung cấp nhiều cách để sử dụng hàm where lồng nhau trong các truy vấn cơ sở dữ liệu. Sử dụng where lồng nhau cho phép bạn tạo ra các điều kiện phức tạp hơn, giúp truy vấn dữ liệu hiệu quả và chính xác hơn. Dưới đây là một số cách phổ biến để sử dụng where lồng nhau trong Laravel.

Các cách sử dụng hàm where lồng nhau trong Laravel:

  1. Sử dụng where lồng nhau với Closure:

    $users = DB::table('users')
        ->where('status', 'active')
        ->where(function ($query) {
            $query->where('age', '>', 18)
                  ->orWhere('role', 'admin');
        })
        ->get();
    
  2. Sử dụng where lồng nhau với nhiều điều kiện:

    $products = DB::table('products')
        ->where('category', 'electronics')
        ->where(function ($query) {
            $query->where('price', '<', 1000)
                  ->where('stock', '>', 0);
        })
        ->get();
    
  3. Sử dụng where lồng nhau với nhiều bảng:

    $orders = DB::table('orders')
        ->where('status', 'completed')
        ->where(function ($query) {
            $query->whereExists(function ($query) {
                $query->select(DB::raw(1))
                      ->from('order_items')
                      ->whereRaw('order_items.order_id = orders.id')
                      ->where('order_items.quantity', '>', 0);
            });
        })
        ->get();
    
  4. Sử dụng orWhere lồng nhau:

    $users = DB::table('users')
        ->where('active', 1)
        ->orWhere(function ($query) {
            $query->where('email_verified_at', '!=', null)
                  ->where('created_at', '>', now()->subYear());
        })
        ->get();
    
  5. Sử dụng where lồng nhau trong Eloquent:

    $posts = Post::where('status', 'published')
        ->where(function ($query) {
            $query->where('views', '>', 100)
                  ->orWhere('likes', '>', 50);
        })
        ->get();
    

Yêu cầu hệ thống:

  • Laravel 5.1 trở lên
  • Cài đặt và cấu hình môi trường phát triển

Lời khuyên:

  • Nên sử dụng where lồng nhau khi có nhiều điều kiện phức tạp để dễ dàng quản lý và đọc mã hơn.
  • Kiểm tra và tối ưu hóa truy vấn để tránh làm chậm ứng dụng của bạn.
Tags: PHP, Laravel


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Hướng dẫn force HTTPS trong Laravel

Hướng dẫn chi tiết cách thiết lập force HTTPS trong Laravel để đảm bảo rằng tất cả các yêu cầu tới ứng dụng đều được chuyển hướng sang HTTPS, giúp tăng cường bảo mật cho trang web của bạn.
Hướng dẫn làm chức năng đăng nhập bằng Apple ID trong Laravel

Bài viết hướng dẫn chi tiết cách tích hợp chức năng đăng nhập bằng Apple ID vào Laravel, sử dụng OAuth2. Bạn sẽ học cách cấu hình ứng dụng để kết nối với dịch vụ Apple và xử lý thông tin đăng nhập của người dùng.
Cách POST dữ liệu tới API trong Laravel

Hướng dẫn cách sử dụng Laravel để gửi yêu cầu POST dữ liệu tới API bên ngoài hoặc API nội bộ. Sử dụng phương thức HTTP Client tích hợp trong Laravel để gửi dữ liệu một cách dễ dàng và bảo mật.
Các cách DELETE dữ liệu từ database MySQL trong Laravel

Hướng dẫn chi tiết về các phương pháp khác nhau để xóa dữ liệu từ database MySQL trong Laravel, bao gồm Eloquent, Query Builder, và cách thực hiện soft delete.
Các cách INSERT dữ liệu vào database MySQL trong Laravel

Khám phá các phương pháp khác nhau để insert dữ liệu vào database MySQL trong Laravel, bao gồm sử dụng Eloquent ORM và Query Builder.
Đọc nội dung Excel bằng Laravel

Hướng dẫn chi tiết cách đọc nội dung file Excel trong Laravel bằng gói Laravel Excel. Bài viết cung cấp đoạn mã mẫu, giải thích chi tiết từng bước và hướng dẫn cài đặt gói cần thiết.
Cách chuyển đổi chuỗi Markdown sang HTML bằng Laravel

Hướng dẫn cách chuyển đổi chuỗi Markdown sang HTML trong Laravel bằng cách sử dụng thư viện `league/commonmark`, giúp quá trình chuyển đổi trở nên dễ dàng và hiệu quả.
Cách làm chức năng đăng nhập bằng tài khoản Google trong Laravel

Hướng dẫn chi tiết cách tích hợp tính năng đăng nhập bằng tài khoản Google trong Laravel sử dụng thư viện Laravel Socialite. Bài viết sẽ giúp bạn thiết lập ứng dụng Google API và cấu hình trong Laravel.
Hướng dẫn làm đăng nhập bằng Facebook trong Laravel

Hướng dẫn từng bước cách tích hợp chức năng đăng nhập bằng tài khoản Facebook vào ứng dụng Laravel, sử dụng thư viện Socialite. Bài viết bao gồm cách cấu hình Facebook OAuth và cách xử lý đăng nhập trong Laravel.
Hướng dẫn tích hợp VNPAY trong Laravel với tài khoản Sandbox

Hướng dẫn chi tiết cách tích hợp VNPAY vào dự án Laravel sử dụng tài khoản Sandbox của VNPAY để thực hiện các giao dịch thanh toán trực tuyến, bao gồm việc cấu hình, tạo URL thanh toán, xử lý kết quả trả về, và xây dựng giao diện.

Đã thêm vào giỏ hàng