我有订单模型,我想在其中一个订单中更改“状态”。我执行这样的代码:
$order = new Order();
$new = $order->find()->where(['status' => 'new'])->orderBy(['id' => SORT_ASC])->one();
if($new){
$new->status = "queued";
$ok = $new->save();
return true;
}
而且,$new
是我想要的记录,所以没关系。所以,当我尝试保存更改时,它不会这样做,$ok
给我“假”。我不知道为什么,我之前使用过save()
并且从未遇到过问题。
更新
发现错误,它没有连接到save()
函数。
答案 0 :(得分:0)
由于模型验证,您的值未保存,您可以通过输入false来跳过模型验证。
$order = new Order();
$new = $order->find()->where(['status' => 'new'])->orderBy(['id' => SORT_ASC])->one();
if($new){
$new->status = "queued";
$ok = $new->save(false); // skip model validation
return true;
}