是否可以以我可以这样的方式使用Zend_Db_Select where / whereOr:
$select->whereOr('field1 = ? field2 = ?', array($value1, $value2));
or
$select->whereOr('field1 = ? field2 = ?', $value1, $value2);
这比记住自己逃避变量要容易得多。
答案 0 :(得分:1)
这取决于具体情况,例如,如果您有两个条件,并且每个条件都有一个OR。
像:
WHERE (col = $someValue OR col = $otherValue) OR (col2 = $thirdValue AND col2 = $fourthValue)
那些必须手动完成。我喜欢这样做:
$orWhere = array(
"(col = {$someValue} OR col = {$otherValue})",
"(col2 = {$thirdValue} AND col2 = {$fourthValue})"
);
$select->where(implode(' OR ', $orWhere));
在这些情况下,这对我来说是一个非常有用的工作,因为Zend_Db_Select的行为如何将括号中的每个where()
和orWhere()
封装起来。
答案 1 :(得分:0)
你可以这样做:
$select->where('field1 = ?', $value1)->orWhere('field2 = ?', $value2);