zend-framework - 如何向 Zend Table Select 添加复杂的 where 子句?

标签 zend-framework zend-db zend-db-table

我在网上搜索并找不到任何可以向我展示一个很好的可靠示例的内容。我的问题基本上是这样的:

我如何转换这个:

SELECT * FROM table WHERE ((a = 1 AND b = 2) OR (c = 3 OR c = 4)) AND d = 5;

Zend 语法类似于:

$this
->选择()
->from($this->_schema.'.'.$this->_name)
-> where('a = ?', '1');

那么怎么做呢?

非常感谢提前。

最佳答案

我有一个类似的问题。请参阅此处答案中的代码示例:Grouping WHERE clauses with Zend_Db_Table_Abstract

所以你最终会得到类似的东西:

$db = $this->getAdapter();
$this->select()
     ->where('(' . $db->quoteInto('a = ?', 1) . ' AND ' . $db->quoteInto('b = ?', 2) . ') OR (' . $db->quoteInto('c = ?', 3) . ' OR ' . $db->quoteInto('c = ?', 4) . ')')
     ->where('d = ?', 5);

这会给你:
SELECT `table_name`.* FROM `table_name` WHERE ((a = 1 AND b = 2) OR (c = 3 OR c = 4)) AND (d = 5)

关于zend-framework - 如何向 Zend Table Select 添加复杂的 where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640109/

相关文章:

zend-framework - 如何通过多词搜索进行查询自动完成/建议?

PHP 内爆数组生成 mysql IN 条件

php - 为 Zend_Db 设置字符集的最佳方式(或至少比我目前正在做的更好)

zend-framework - Zend_Db_Table_Row : Why do I have to use createRow()?

php - MySQL 随机行按列名排序

php - 如何将 MySQL 配置为 Zend DB Adapter 中的适配器

zend-framework - 网站上的付费成员(member)资格的计划工作流程是什么?

php - 在 zend 中,如何正确打印 mysql 查询?

php - 使用别名加入 Zend Framework

zend-framework - Zend DB 选择常量 - 表中不存在的列