如果我已经找到了CakePHP,那么它是必需的

时间:2011-11-02 21:36:08

标签: cakephp

我有以下功能找到匹配的用户并将其状态更改为活动状态:

public function activate ($username = null, $key = null)
{
    if ($username == null || $key == null)
    {
        $this->redirect(array('action' => 'login'));
    }

    if ($this->User->hasAny(array(
            'User.username' => $username,
            'User.activation_key' => $key,
            'User.status' => 0,
        )))
    {
        $user = $this->User->findByUsername($username);
        $this->User->id = $user['User']['id'];
        $this->User->saveField('status', 1);
        $this->User->saveField('activation_key', md5(uniqid()));
        $this->Session->setFlash(__('Account activated successfully.', true), 'default', array('class' => 'success'));
    }
    else
    {
        $this->Session->setFlash(__('An error occurred.', true), 'default', array('class' => 'error'));
    }

    $this->redirect(array('action' => 'login'));
}

if statement: if ($this->User->hasAny(array( 'User.username' => $username, 'User.activation_key' => $key, 'User.status' => 0, )))是否必要,因为我仍然需要通过他们的电子邮件地址找到用户(这显然是独一无二的)

2 个答案:

答案 0 :(得分:1)

显然不是。

这是我第一次知道蛋糕中有hasAny():))

答案 1 :(得分:0)

没有必要。当您需要满足一些额外条件时,您可以将它们置于您的查找条件中。