Yii2 - 没有通过 $model->save() 更新值
Posted
技术标签:
【中文标题】Yii2 - 没有通过 $model->save() 更新值【英文标题】:Yii2 - Value Not Getiing Updated Through $model->save() 【发布时间】:2015-11-30 10:54:40 【问题描述】:我正在使用save()
更新用户详细信息。而且,我遵循了 yii 框架的指南,即Yii2-Guide-Save()
$customer = Customer::findOne(123);
$customer->email = 'james@newexample.com';
$customer->save();
但是,它不会更新任何值。我不明白是什么问题。
什么时候,我在做var_dump($users->save());
它正在显示bool(false).
$confirmLinkID;
值来了。
这是我的控制器。
public function actionResend()
$model=new Users(); // User Model
if ($model->load(Yii::$app->request->post()))
$post = Yii::$app->request->post('Users');
$userDetails = $model->findOne(['email' => $post['email']]);
// If Account Is Already Activated
if($userDetails['status'] == 1)
Yii::$app->session->setFlash('AccountAlreadyVerified');
return $this->refresh();
// If status == 2
if($userDetails)
$confirmLinkID=$model->getAuthKey();
$users = Users::findOne(['email' => $post['email']]);
$users->auth_key = $confirmLinkID;
$users->save();
请帮忙。
【问题讨论】:
【参考方案1】:试试
$customer->save(false);
如果使用参数 false 保存数据,则验证规则有问题(有选择地评论以查找引发问题的规则)
否则检查您是否在模型中定义了可以隐藏/覆盖数据/列字段的变量
【讨论】:
$customer->save(false);
值更新后。谢谢斯凯斯。
嗨@Scais,要问一个问题。 $customer->save(false);
正在工作。没关系。它是否会妨碍任何与安全相关的问题。 Bcoz,$customer->save();
不起作用。所以,它出现在了我的脑海中。你能解释一下吗(如果你不忙)。谢谢。
当使用$customer->save(false);不运行验证规则。当您尝试保存的模型中包含的数据与验证规则相反时,此技术很有用。然后使用该技术来确定问题是处于验证阶段还是其他阶段。如果问题出在验证规则上,那么您有选择地继续检查规则,以找出导致验证问题的原因。
一旦识别出来,就明白为什么该字段不符合规则(如果该字段的值错误或规则有待改进)以上是关于Yii2 - 没有通过 $model->save() 更新值的主要内容,如果未能解决你的问题,请参考以下文章