I Have user表,当我想保存它时,即使在调试$user
时,save()
也返回null,没有错误。。
'[errors]' => [],
这是我的代码:
$user = $this->Users->newEntity();
$tmp_hash = md5(rand(0, 1000));
$tmp_id = time();
/* Save individual data */
$user->id = $tmp_id;
$user->first_name = (!empty($user_profile->firstName)) ? $user_profile->firstName : "";
$user->last_name = (!empty($user_profile->lastName)) ? $user_profile->lastName : "";
$user->username = (!empty($user_profile->lastName) && !empty($user_profile->lastName)) ? $user_profile->firstName . "." . $user_profile->lastName : "";
$user->avatar = (!empty($user_profile->photoURL)) ? $user_profile->photoURL : "";
$user->role = "public";
$user->provider = $provider;
$user->provider_uid = $user_profile->identifier;
$user->gender = !empty($user_profile->gender) ? (($user_profile->gender == 'male') ? 'm' : 'f') : "";
$user->email = !empty($user_profile->email) ? $user_profile->email : "";
$user->password = $user_profile->identifier;
$user->link = $user_profile->profileURL;
$user->avatar = $user_profile->photoURL;
//$user->confirm_password = $user_profile->identifier;
$user->tmp_hash = $tmp_hash;
$user->isverified = (!empty($user_profile->emailVerified)) ? 1 : 0;
$user = $this->Users->patchEntity($user, $this->request->data);
debug($user);
$this->Users->save($user);
//debug($this->Users->invalidFields()); // he don't know invalidFields()
如何显示sql语句或其他内容以进行调试并找到问题?死亡('2');
我找到了解决方案。。问题是errors()
在保存之前不包含任何消息。。但保存后会显示错误。。喜欢这样:$this->Users->save($user);
debug($user->errors());
现在我可以看到我遇到的问题了。。这些问题是由于独特的验证。。