繁体   English   中英

laravel 5中的雄辩查询生成器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM