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

发布于 2024-10-05 06:50:27 字数 1006 浏览 6 评论 0原文

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

选择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;

}

Can anyone tell me why my expression is not used in the query below?

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;

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉月流沐 2024-10-12 06:50:27

您的 Zend_Db_Expr 应该进入 from() 方法而不是 select()

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

Your Zend_Db_Expr should go into from() method instead of select()

$select = $this->getDao()
               ->select()
               ->from( 
                   $this->getDao()->info('name'), 
                   array('expiration' => new Zend_Db_Expr('UNIX_TIMESTAMP(expiration)'))
                );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文