【发布时间】:2016-01-03 00:34:52
【问题描述】:
我期待的是,我需要像这样使用 2 whereBetween
Model::whereBetween('attr1', [date1, date2])
->orWhereBetween('attr2', [date1, date2])
【问题讨论】:
我期待的是,我需要像这样使用 2 whereBetween
Model::whereBetween('attr1', [date1, date2])
->orWhereBetween('attr2', [date1, date2])
【问题讨论】:
我认为你需要使用高级 wheres:http://laravel.com/docs/4.2/queries#advanced-wheres
所以在这种情况下:
Model::whereBetween('attr1', [$date1, $date2])
->orWhere(function($query) use ($date1, $date2){
$query->whereBetween('attr2', [$date1, $date2]);
})
->get();
如果不起作用,请尝试使用此替代方法。
Model::where('attr1', '<', $date1)
->where('attr1', '>', $date2)
->orWhere(function($query) use ($date1, $date2) {
$query->where('attr2', '<', $date1)
->where('attr2', '>', $date2);
})
->get();
【讨论】:
这是最好的方法,我们可以简单地做我在问题中提到的:)
Model::whereBetween('attr1', [date1, date2])
->orWhereBetween('attr2', [date1, date2])
【讨论】: