我正在使用laravel 5.2框架。我想找到接下来七天发生的所有事件。在这里,我已成功找到核心查询,但我想用laravel查询转换任何人都可以帮助我
这是我的查询
SELECT * FROM `allocations` WHERE `date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) ;
任何人都可以帮助我。在此先感谢:)
答案 0 :(得分:2)
试试这个:
Allocation::where('date', '>', Carbon::now())
->where('date', '<', Carbon::now()->addWeek())
->get();
我不确定这是否也有效,但请尝试一下;
Allocation::whereBetween('date', [Carbon::now(), Carbon::now()->addWeek()])->get();
答案 1 :(得分:1)
简单:
DB::select("SELECT * FROM `allocations` WHERE `date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)");
有点复杂:
DB::table('allocations')->whereRaw("`date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)")->get();
如果您设置了Eloquent模型,请将DB::table()->
替换为您的型号名称:
Allocations::whereRaw("`date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)")->get();
答案 2 :(得分:0)
使用Eloquent模型:
use App\Allocation; // Assuming this is your Eloquent model
use DB;
Allocation::whereBetween('date', [DB::raw('NOW()'),
DB::raw('DATE_ADD(NOW(), INTERVAL 7 DAY)']);
使用数据库外观
use DB;
DB::table('allocations')->whereBetween('date', [DB::raw('NOW()'),
DB::raw('DATE_ADD(NOW(), INTERVAL 7 DAY)']);