为什么saveField()没有保存CakePHP 2.x中的记录?

时间:2015-12-06 12:18:37

标签: cakephp cakephp-2.6 cakephp-2.x

我正在使用cakephp 2.6.7。

在Model / ResellerAccount中:

<?php

class ResellerAccount extends AppModel {

    var $name = "resellerAccounts";           
}

?>

我的表名是reseller_accounts。

控制器中的

function moneySentToreseller($id = null) {
    if ($id) {
        $this->loadModel('ResellerAccount');

        $this->ResellerAccount->id = $id;
        $this->ResellerAccount->saveField("ResellerAccount.status", "sent");
        $msg = '
            <div class="alert alert-success">
                <button type="button" class="close" data-dismiss="alert">&times;</button>
                <strong> Money send to this reseller succeesfully </strong>
           </div>';
        $this->Session->setFlash($msg);
    }
    return $this->redirect($this->referer());
}

但该领域尚未更新。我的代码中发生了什么问题?

1 个答案:

答案 0 :(得分:2)

根据documentation

  

使用此方法时,$ fieldName应仅包含字段的名称,而不是模型和字段的名称。

尝试保存如下:

    $this->ResellerAccount->saveField("status", "sent");

还要注意模型的名称:

    var $name = "resellerAccounts";           

应该是

    public $name = "ResellerAccount";