php - Zend Framework 选择运算符优先级

标签 php mysql zend-framework

我正在尝试使用 Zend_Db_Select 编写一个如下所示的选择查询:

SELECT * FROM bar WHERE a = 1 AND (b = 2 OR b = 3)

但是,当组合使用 where() 和 orWhere() 时,似乎不可能像上面那样使用条件分组。

Zend Framework 中是否有任何 native 方法可以实现上述功能(无需编写实际的查询?)

最佳答案

来自the manual (示例 11.61. 带括号的 bool 表达式示例)


// Build this query:
//   SELECT product_id, product_name, price
//   FROM "products"
//   WHERE (price < 100.00 OR price > 500.00)
//     AND (product_name = 'Apple')

$minimumPrice = 100;
$maximumPrice = 500;
$prod = 'Apple';

$select = $db->select()
             ->from('products',
                    array('product_id', 'product_name', 'price'))
             ->where("price < $minimumPrice OR price > $maximumPrice")
             ->where('product_name = ?', $prod);

关于php - Zend Framework 选择运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/80846/

相关文章:

javascript - 将 JSON 数组解析为 Google Charts DataTable

jquery - 如何从Bootstrap中的Ajax调用显示数据表中的数据

jquery - Zend 表单 : How to create a 'create account form' that checks for unique username?

php - Zend_Db 的 Where 子句未按预期工作

php - ReflectionException 无法被捕获?

PHP __call() 魔术方法解析参数

php - EDI X.12 PHP 映射 - 所需资源

sql - 需要帮助构建 SQL 查询(简单连接)

mysql - 我可以使用子查询代替什么来搜索 MAX()?

php - 扩展/修改 Zend Framework 有多容易?