cakephp身份验证和用户注册已停止工作

cakephp身份验证和用户注册已停止工作,cakephp,authentication,Cakephp,Authentication,我有以下代码: public function check() { $result = $this->User->field('id', array('username' => 'alek@lol.pl')); debug($result); } 在我的用户表中,我有以下记录: NSERT INTO `users` (`id`, `username`, `password`, `role`, `c

我有以下代码:

public function check()
        {
            $result = $this->User->field('id', array('username' => 'alek@lol.pl'));
            debug($result);
        }
在我的用户表中,我有以下记录:

NSERT INTO `users` (`id`, `username`, `password`, `role`, `created`, `modified`) VALUES 
('5', 'alek@lol.pl', '64c918dd65b67b455248c2498bcc5421a66b68a6', 'member', '2012-04-24 10:56:37', '2012-04-24 10:56:37');
控制器方法检查的结果为:

false
sql查询是:

Nr  Query   Error   Affected    Num. rows   Took (ms)
1   SELECT `User`.`id` FROM `freebooks`.`users` AS `User` WHERE `username` = 'alek@lol.pl' LIMIT 1      1   1   0
所以SQL返回一行,但蛋糕中的结果是“false”-怎么了?有东西坏了吗

当我在PhpMyAdmin中执行此SQL语句时,它正确地返回id=5

当我把一行改成

$result = $this->User->find('all');
这张照片

true
这是不可能的

$this->User->field('id', array('username', $this->request->data['User']['username']));
您可以这样检查:

if(!empty($this->User->field('id', array('username', $this->request->data['User']['username']));)) {

  // code
}

$id = $this->User->field('id', array('username', $this->request->data['User']['username']));

$this->User->id = $id;

if($this->User->exists()) {
  // code
}

它是什么?它是如何工作的???当我执行我的代码时,我甚至看到这个findByUser发现了1行的蛋糕sql信息!怎么可能?@user606521读取到它不工作-它仍然返回“false”!这很奇怪-我可以看到MySQL查询(由cake提供):1从
freebooks
users
中选择
User
作为
User
,其中
username
='alek@lol.pl'LIMIT 1-num rows=1这意味着它找到了这个记录-但它返回false…@user606521它是否返回idOk-已解决-这是我的错误-我在模型中有一些后续发现这不太好:)谢谢