Zend framework2 MySQL从DATETIME字段中检索两个日期之间的行

Zend framework2 MySQL从DATETIME字段中检索两个日期之间的行,zend-framework2,zend-db,Zend Framework2,Zend Db,我是Zend Framework 2的新手,现在我面临MySQL的DATE()问题。我无法在Zend Framework中检索两个日期之间的记录 SQL查询: 从“任务”中选择*,其中“受让人”=1,日期(“开始日期”)介于“2017-03-01”和“2017-05-25”之间 我在ZF2中的尝试: 公共函数getTaskCheck(){ $sqlstatement=$this->taskTable->getSql()->select(); $sqlstatement->columns(['*

我是Zend Framework 2的新手,现在我面临MySQL的
DATE()
问题。我无法在Zend Framework中检索两个日期之间的记录

SQL查询:

从“任务”中选择*,其中“受让人”=1,日期(“开始日期”)介于“2017-03-01”和“2017-05-25”之间
我在ZF2中的尝试:

公共函数getTaskCheck(){
$sqlstatement=$this->taskTable->getSql()->select();
$sqlstatement->columns(['*');
$sqlstatement->where('tasks.assignee=1');
$sqlstatement->where->between('DATE(start_DATE)'、'2017-03-01'、'2017-05-25');
返回$this->taskTable->selectWith($sqlstatement)->toArray();
}

但这会将错误显示为未知字段
日期(开始日期)
。在数据库中,
start\u date
字段存储为
DATETIME
。任何帮助都将不胜感激。

请尝试将where BEVER行替换为:$sqlstatement->where->BEVER('start_date','2017-03-01','2017-05-25');我认为,没有理由将该值强制转换为date.start\u date字段存储为datetime这没关系。。。如果执行该查询,请从
任务
中选择*,其中
受让人
=1,并且开始日期介于“2017-03-01”和“2017-05-25”之间,则该查询仍然有效。您可以使用\Zend\Db\Sql\Expression