Zend Model Mapper fetchAll()忽略我的WHERE子句

时间:2013-09-12 15:10:01

标签: php mysql zend-framework zend-db zend-db-table

在此代码中:

class IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        $records = new Application_Model_Mapper_Record();
        $this->view->records = $records->fetchAll(array('type = ?' => 0));
    }


}

... fetchAll()忽略我的$where子句并检索所有记录,而不是仅检索type=0的记录。

我尝试了array('type = 0')同样的问题。我在mapper var_dump($where)方法中执行了fetchAll(),但没有特别出现,数组似乎没问题。

我该怎么办?我完全不知道为什么会这样做,而且我似乎是唯一一个在互联网上遇到这个问题的人。

1 个答案:

答案 0 :(得分:0)

$rowSet = $this->dbTable->fetchAll($where = null, $order = null, $count = null, $offset = null);

只需用mapper类中的$rowSet = $this->dbTable->fetchAll($where, $order, $count, $offset);替换即可。因为当您调用此方法时,您将为方法参数指定null。这是方法调用,而不是初始化。