Zend framework2 Zf2,在Where\in中的标识符中使用表达式

Zend framework2 Zf2,在Where\in中的标识符中使用表达式,zend-framework2,zend-db,Zend Framework2,Zend Db,我尝试在where->in中的标识符中使用表达式 例如SQL: SELECT * FROM table WHERE DATE(created) IN ('2014-03-05','2013-06-07') 我试着使用它: $days = ['2014-03-05','2013-06-07']; $where = new Where(); $where->addPredicate(new Predicate\In(new Expression('DATE(created)'), $days

我尝试在
where->in
中的标识符中使用表达式

例如SQL:

SELECT * FROM table WHERE DATE(created) IN ('2014-03-05','2013-06-07')
我试着使用它:

$days = ['2014-03-05','2013-06-07'];
$where = new Where();
$where->addPredicate(new Predicate\In(new Expression('DATE(created)'), $days));
$select->where($where);

它不起作用

仍然无法通过中的
谓词\找到解决方案,但找到了可用于使其运行的内容-

$days = array('2014-08-07', '2014-08-08');

$platform = $this->tableGateway->adapter->getPlatform();
$predicateIn = 'DATE('.$platform->quoteIdentifierChain(array('created')).')';
$predicateIn .= " in (";
$predicateIn .= $platform->quoteValueList($days);
$predicateIn .= ")";
$select->where(array($predicateIn));
Sql查询已形成-

从('2014-08-07'、'2014-08-08')中创建日期的表格名称中选择*

如果我能找到所需的解决方案,我一定会让你知道