Php 拉雷维尔的whereRaw问题

Php 拉雷维尔的whereRaw问题,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我正在尝试在查询中添加此条件 $query = Cheques::select('id', 'deposit_date', 'number'); $query->where('product_cheques.cheque_status', Cheques::VERIFIED); $query->whereRaw('DATE(product_cheques.deposit_date) BETWEEN ? AND ?', [$this->getTodayDate()->fo

我正在尝试在查询中添加此条件

$query = Cheques::select('id', 'deposit_date', 'number');
$query->where('product_cheques.cheque_status', Cheques::VERIFIED);

$query->whereRaw('DATE(product_cheques.deposit_date) BETWEEN ? AND ?', [$this->getTodayDate()->format('Y-m-d'), $this->addSevenDayBucket()->format('Y-m-d')]);

$query->get()->toArray();
我运行这个时没有得到任何输出。但是,当我运行ORM执行的相同查询时

DATE(product_cheques.deposit_date) BETWEEN ? AND ?
[0] - 2016-02-01
[1] - 2016-02-15
通过向日期字段添加引号,我得到了期望的结果

where DATE(product_cheques.deposit_date) BETWEEN '2016-02-01' AND '2016-02-15'

如何修改我的雄辩查询?

对于此查询,您不需要
whereRaw

添加到控制器顶部:

Cheques::select('id', 'deposit_date', 'number')
    ->where('cheque_status', Cheques::VERIFIED)
    ->whereDate('deposit_date', '>', Carbon::today()->toDateString())
    ->whereDate('deposit_date', '<', Carbon::today()->addWeeks(2)->toDateString())
    ->get();
使用碳\碳

在您的功能中:

Cheques::select('id', 'deposit_date', 'number')
    ->where('cheque_status', Cheques::VERIFIED)
    ->whereDate('deposit_date', '>', Carbon::today()->toDateString())
    ->whereDate('deposit_date', '<', Carbon::today()->addWeeks(2)->toDateString())
    ->get();
支票::选择('id'、'存款日期'、'编号')
->其中(“支票状态”,支票::已验证)
->whereDate('deposit_date','>',Carbon::today()->toDateString())

->whereDate('deposit\u date',您可以显示整个查询吗?您甚至可能不需要
whereRaw
。添加了整个查询。
deposit\u date
列在数据库中有什么列类型?deposit\u date是数据库中的datetime。谢谢您的帮助。返回函数时出现了一些错误。