【问题标题】:CakePHP field not updatingCakePHP 字段未更新
【发布时间】:2012-05-15 03:03:32
【问题描述】:

我遇到了一个非常奇怪的问题。我正在从一个表单中做一个标准的 cakephp 保存,一点也不疯狂:

$this->Ride->read(null,$id);
$ride = $this->Ride->data;

$this->Ride->set(array(
                'assigned' => 2,
                'pickup_driver_id' => $driver['UserDriver']['id']
            ));

$this->Ride->save()

但是,每次所有字段都更新时,分配的字段除外。分配的是数据库中的 tinyint(2)。我试过不验证......等等。任何建议都会很棒!提前谢谢你。

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    我建议你仔细检查你的模型定义,看看那里是否有什么有趣的地方。关闭验证将是我的第一个建议,但你说你已经涵盖了,所以我不会说什么。 (笑)

    另外,检查 $this->Ride->save() 方法的返回值,它应该是 true。如果没有,请检查此类错误...

    if(!$this->Ride->save()){
        debug($this->Ride->validationErrors); die();
    }
    

    【讨论】:

    • 感谢您的回复。是的,我确实尝试过验证错误。奇怪的是,$this->Ride->save() 成功,除了在数据库中分配的所有字段都被更新。 Pickup_driver_id 实际上是新值,以及设置的其他字段,除了分配的所有...
    • 原来 CakePHP 将 tinyint(1) 视为虚拟布尔值,并且只会将 0 或 1 保存到该字段。我将其更改为 tinyint(2) 但没有清除 app/tmp/models 缓存,因此在我更改之前它仍然无法工作。在这里找到它:devarticles.in/cakephp/…
    猜你喜欢
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多