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。谢谢您的帮助。返回函数时出现了一些错误。