查询中未使用的数据库表达式

时间:2010-12-01 19:58:43

标签: zend-framework zend-db

有谁能告诉我为什么我的表达式没有在下面的查询中使用?

  

SELECT accountreset。* FROM accountreset WHERE(reset_id = '34')LIMIT 1

public function findByResetId($resetId, $model = null) {
    $result = null;
    if (isset($resetId)) {
        $select = $this->getDao()->select(
            array('expiration' => new Zend_Db_Expr('UNIX_TIMESTAMP(expiration)'))
        );
        $select->where('reset_id = ?', $resetId);
        $row = $this->getDao()->fetchRow($select);
        if (null != $row) {
            if (!($model instanceof Stage5_Model_PasswordResetter)) {
                $model = new Stage5_Model_PasswordResetter();
            }
                           // vul het model object
            $model->setResetId($row->reset_id);
            $model->setUserId($row->user_id);
            $model->setExpiration($row->expiration);
            $result = $model;

        }
    }
    return $result;

}

1 个答案:

答案 0 :(得分:1)

您的Zend_Db_Expr应该使用from()方法而不是select()

$select = $this->getDao()
               ->select()
               ->from( 
                   $this->getDao()->info('name'), 
                   array('expiration' => new Zend_Db_Expr('UNIX_TIMESTAMP(expiration)'))
                );