首页 > 解决方案 > 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)

标签: phpsqlzend-frameworkzend-framework2

解决方案


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);

推荐阅读