Zend修改。添加MySQL FORCE INDEX提示

时间:2012-06-01 19:43:51

标签: php zend-framework zend-db zend-db-select

我正在尝试扩展Zend库以获得类似这样的查询:

SELECT * FROM item i **force index(ix)** ORDER BY date LIMIT 100;

我正在使用这个Zend论坛问题解决方案:http://framework.zend.com/issues/browse/ZF-7570

但是我有问题。请看下面的代码。

$select->forceIndex('index');
echo $select->assemble();
     //  I get the right SELECT query with the force index hint
$this->fecthAll($select);
    //  The server execute a wrong SELECT query without the force index hint

一些帮助?

2 个答案:

答案 0 :(得分:0)

我不太清楚为什么,但是如果我删除了echo子句,fetchAll会执行正确的查询......

这就是答案,删除回声

答案 1 :(得分:0)

在我看来,您使用的补丁已被破坏。如果检查源,它会在第一次创建查询时取消设置FORCE INDEX部分。

如果你检查它,$ select-> assemble()== $ select-> assemble()应该给出错误。