Cách sử dụng hàm where trong Laravel
Hướng dẫn chi tiết các cách sử dụng hàm `where` trong Laravel để thực hiện các truy vấn cơ sở dữ liệu hiệu quả và linh hoạt.
Trong Laravel, hàm where
được sử dụng để thêm điều kiện vào truy vấn cơ sở dữ liệu. Bài viết này sẽ giới thiệu các cách sử dụng khác nhau của hàm where
, từ cơ bản đến nâng cao, bao gồm các điều kiện đơn giản và phức tạp hơn.
Các cách sử dụng hàm where trong Laravel:
-
Sử dụng với điều kiện đơn giản:
$users = User::where('status', 'active')->get();
-
Sử dụng với nhiều điều kiện:
$users = User::where('status', 'active') ->where('role', 'admin') ->get();
-
Sử dụng với điều kiện OR:
$users = User::where('status', 'active') ->orWhere('status', 'pending') ->get();
-
Sử dụng với mảng điều kiện:
$users = User::where([ ['status', '=', 'active'], ['role', '=', 'admin'] ])->get();
-
Sử dụng với hàm whereIn:
$users = User::whereIn('id', [1, 2, 3])->get();
-
Sử dụng với hàm whereNotIn:
$users = User::whereNotIn('id', [1, 2, 3])->get();
-
Sử dụng với hàm whereBetween:
$users = User::whereBetween('age', [18, 25])->get();
-
Sử dụng với hàm whereNull:
$users = User::whereNull('deleted_at')->get();
-
Sử dụng với hàm whereNotNull:
$users = User::whereNotNull('email')->get();
-
Sử dụng với hàm whereDate:
$users = User::whereDate('created_at', '2024-01-01')->get();
-
Sử dụng với hàm whereMonth:
$users = User::whereMonth('created_at', '01')->get(); // Tháng 1
-
Sử dụng với hàm whereYear:
$users = User::whereYear('created_at', '2024')->get();
-
Sử dụng với hàm whereDay:
$users = User::whereDay('created_at', '01')->get();
-
Sử dụng với hàm whereColumn:
$users = User::whereColumn('created_at', 'updated_at')->get();
-
Sử dụng với hàm whereRaw:
$users = User::whereRaw('age > ? AND status = ?', [18, 'active'])->get();
Yêu cầu hệ thống:
- Laravel 8.x hoặc cao hơn
- PHP 7.x hoặc cao hơn
Lời khuyên:
- Sử dụng các điều kiện phức tạp một cách hợp lý để không làm giảm hiệu suất truy vấn.
- Đọc tài liệu chính thức của Laravel để hiểu rõ hơn về các phương thức truy vấn khác.