Magento未通过模型更新记录

Magento未通过模型更新记录,magento,model-view-controller,Magento,Model View Controller,有人知道为什么这段代码不更新我数据库中的列order\u id吗? 是因为我们处于模型上下文中吗?因为类似的代码在控制器上下文中也可以工作 如果我转储$order变量,我可以看到它已经更新了对象的order_id值,但这不会保存到数据库中 以下是表格planner_orders中的字段: id int order_id bigint visitor_id bigint store_id int repair_customers_id int start_timeslot tim

有人知道为什么这段代码不更新我数据库中的列order\u id吗? 是因为我们处于模型上下文中吗?因为类似的代码在控制器上下文中也可以工作

如果我转储$order变量,我可以看到它已经更新了对象的order_id值,但这不会保存到数据库中

以下是表格planner_orders中的字段:

id  int
order_id    bigint
visitor_id  bigint
store_id    int
repair_customers_id int
start_timeslot  timestamp
timeslots   int
location    varchar
vat double
total_vat   double
created timestamp


我测试了相同的代码,它可以正常工作。代码没有问题。你检查过缓存没有让你烦恼吗?如果您在第一次调用中设置了order_id(用于测试硬代码order_id值),然后保存,是保存数据还是出现了相同的问题?什么是$store?为什么$order->id应该工作?请显示var_dump($store)和var_dump(sprintf('%08d',$id)),将其添加到$order->setOrderId($order_id)之前$store是store_id,在示例中是(int)8。疯狂的事情,但是我让它休息了一晚上,现在它工作了!无论如何,谢谢你的想法。
<?php
class Alphabase_Planner_Model_Order extends Mage_Core_Model_Abstract
{
    public function _construct()
    {
        parent::_construct();
        $this->_init('planner/order');
    }

    public function create($visitor, $store, $customer, $start, $timeslots = 0, $location, $vat, $total_vat) {
        $order = Mage::getModel('planner/order')
            ->setData('visitor_id', $visitor)
            ->setData('store_id', $store)
            ->setData('repair_customers_id', $customer)
            ->setData('start_timeslot', $start)
            ->setData('timeslots', $timeslots)
            ->setData('location', $location)
            ->setData('vat', $vat)
            ->setData('total_vat', $total_vat)
            ->setData('created', now())
            ->save();
        $id = $order->id;
        $order_id = $store.sprintf('%08d', $id);
        $order->setOrderId($order_id);
        $order->save();
        return $order;
    }

}