Yii2 - save()不保存

时间:2017-01-05 09:56:03

标签: php yii2

我有订单模型,我想在其中一个订单中更改“状态”。我执行这样的代码:

 $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()函数。

1 个答案:

答案 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;
    }