Bạn có thể chuỗi where
s trực tiếp, không có function(q)
. Ngoài ra còn có một gói xử lý ngày tháng tuyệt vời trong laravel, được gọi là Carbon
. Vì vậy, bạn có thể làm điều gì đó như:
$projects = Project::where('recur_at', '>', Carbon::now())
->where('recur_at', '<', Carbon::now()->addWeek())
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();
Chỉ cần đảm bảo rằng bạn yêu cầu Carbon trong nhà soạn nhạc và bạn đang sử dụng không gian tên Carbon (sử dụng Carbon \ Carbon;) và nó sẽ hoạt động.
CHỈNH SỬA:Theo Joel đã nói , bạn có thể làm:
$projects = Project::whereBetween('recur_at', array(Carbon::now(), Carbon::now()->addWeek()))
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();