我有以下查询:为什么Zend Framework在where子句中添加括号?
$tagCordQuery = $this->freqDb->select()
->from("rr_amplifiers", "*")
->join("amplifiers_coordinate", "amplifiers_coordinate.name = TRIM(TRAILING '0' FROM rr_amplifiers.name)", array())
->where("amplifiers_coordinate.name IN(?)", $apsName);
其中$ apsName它是一个数组。
问题是,当这个数组只有一个元素查询了这样额外的括号:
SELECT `rr_amplifiers`.* FROM `rr_amplifiers`
INNER JOIN `amplifiers_coordinate` ON amplifiers_coordinate.name = TRIM(TRAILING '0' FROM rr_amplifiers.name) WHERE (amplifiers_coordinate.name IN('xpto'))
为什么这样它的发生?
公平的问题,但在这个例子中注意额外的括号,并不重要。 –
是的,我注意到了,但是它的问题在括号里有一些地方,因为当数组有多个元素时不会发生这个错误 –
我认为这不是错误,你的查询可以这样工作 – Hackerman