0

这是我的公共添加功能,但有一点错误,

如果用户(他的电子邮件或用户名)存在,这个函数无论如何都会保存它!

那么,我如何查询以通过 [user][email] 进行搜索,然后通过 [user][username] 进行搜索以确认将进入数据库的用户名和电子邮件是包含用户名和电子邮件的新数据

 public function add() {
    if ($this->request->is('post')) {
       ////here it should be the query !
        $this->User->create();
        if ($this->User->save($this->request->data)) {
    $this->redirect(array('controller' => 'users', 'action' => 'login' ));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('الموقع مش عارف يسيفك يا فقيع, حاول تاني'));
        }
    }
}
4

1 回答 1

1

在您的用户模型中添加验证

public $validate = array(
    'username' => array(
        'emailEmpty' => array(
            'rule' => 'notEmpty',
            'message' => 'Sorry, email cannot be empty',
            'last' => true,
        ),
        'email' => array(
            'rule' => array('email'),
            'message' => 'Must be a valid email',
            'last' => true,
        ),
        'emailExists' => array(
            'rule' => 'isUnique',
            'message' => 'Sorry, this email address is already in use',
        ),
    ),

);
于 2012-10-25T12:25:44.463 回答