[英]Eloquent Query Builder in laravel 5
我怎么能改变这个SQL语句到口才查询..
SELECT * FROM `promotions`
WHERE
(CURDATE()
BETWEEN from_date - INTERVAL 2 DAY AND from_date)
OR
(CURDATE() >= from_date AND CURDATE() <= to_date)
我这样尝试过>>
$start = date("Y-m-d 00:00:00"); //todate
$end = // todate + 2
return $this->model->whereBetween('from_date',[$start,$end])->get();
但我不知道如何更改此部分>>
OR (CURDATE() >= from_date AND CURDATE() <= to_date)
请给我看正确的方式..谢谢大家的尊重。
我认为这应该可以做到:
$today = date('Y-m-d H:i:s');
$end_date = date('Y-m-d H:i:s', strtotime('+2 days'));
$this->model->whereBetween('from_date',[$today,$end_date])
->orWhere( function( $query ) {
$query->where($today, '>=', 'from_date')
->where($today, '<=', 'to_date');
})
->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.