php - ZF2如何在where子句中将值作为表达式传递
问题描述
我需要像这样使用 WHERE 子句
$where->expression('YEARWEEK(create_date, 1)=?', 'YEARWEEK(CURDATE(), 1)');
在普通的 php 中,我们使用如下 sql :
SELECT *
FROM your_table
WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)
解决方案
this one should be straight forward.
$where = new Where();
$sql = new Sql($adapter);
$select = $sql->select();
$where->addPredicate(new Predicate\Expression('YEARWEEK(create_date, 1)=YEARWEEK(CURDATE(), 1)'));
$select->from('your_table')->where($where);