【发布时间】:2013-01-16 09:54:12
【问题描述】:
我想知道在这种情况下如何使用 ZEND 正确编写 mySQL 语句:
SELECT * FROM `users` WHERE role_id = 2 AND status = 2 AND bddate BETWEEN '1988-05-07' AND '1991-01-01' ORDER BY lastname DESC
我会有 if 语句,例如。如果在过滤器中用户选择了 role_id,我会将其包含在 WHERE 等中,其余部分相同。
到目前为止,我有 1 个 WHERE 条件,我已经这样做了(现在我需要更复杂的条件):
$select = $this->select()
->setIntegrityCheck(false)
->from(array('u'=>'users'))
->join(array('r'=>'user_roles'), 'u.role_id = r.role_id', array('role'=>'title'));
if(count($filters) > 0) {
foreach($filters as $field => $filter) {
$select->where($field . ' = ?', $filter);
}
}
if(null != $sortField) {
$select->order($sortField);
}
【问题讨论】:
-
我不太明白你的问题。您似乎已经能够构建查询。那么在您的第一个选择语句中更复杂的是什么/您到底在哪里遇到问题?
-
我写了查询,但是如何为 ZEND_DB 做呢?在我的代码中,我只有 1 个 WHERE,而在我想要实现的新语句中,我还有几个 BETWEEN
标签: php mysql zend-framework zend-db