0
如果我添加这些列:Magento的1.7 - 添加列sales_flat_order_item
$installer->run("ALTER TABLE sales_flat_order_item add COLUMN shipping_status_id int");
$installer->run("ALTER TABLE sales_flat_quote_item add COLUMN shipping_status_id int");
并运行这个测试2次:
$o = Mage::getModel('sales/order_item');
$o->load(92);
print $o->getShippingStatusId() . "\n";
$o->setShippingStatusId(123);
$o->save();
我什么也看不见。
如果我把列,并添加:
$installer->run("ALTER TABLE sales_flat_order_item add COLUMN shipping_status int");
$installer->run("ALTER TABLE sales_flat_quote_item add COLUMN shipping_status int");
并运行这个测试2次:
$o = Mage::getModel('sales/order_item');
$o->load(92);
print $o->getShippingStatus() . "\n";
$o->setShippingStatus(123);
$o->save();
然后,它的工作原理,值被保存,我可以拿回来。
区别在于列中的_id
。为什么这在第一个例子中不起作用?有什么特别的吗?我检查了几次。
做了另一个试验,添加两列:
$installer->run("ALTER TABLE sales_flat_order_item add COLUMN shipping_status_id int");
$installer->run("ALTER TABLE sales_flat_order_item add COLUMN shipping_status int");
$installer->run("ALTER TABLE sales_flat_quote_item add COLUMN shipping_status_id int");
$installer->run("ALTER TABLE sales_flat_quote_item add COLUMN shipping_status int");
测试:
$o = Mage::getModel('sales/order_item');
$o->load(92);
print $o->getItemId() . "/" . $o->getShippingStatusId() . "\n";
print $o->getItemId() . "/" . $o->getShippingStatus() . "\n";
$o->setShippingStatusId(123);
$o->setShippingStatus(456);
$o->save();
只有456
值设置和获取。
/var/cache
被删除。
我已经删除了完整的'/ var'文件夹,但相同的结果数据存在。再次测试并添加这两列。相同的结果。 – Guus
尝试做$ o-> setData('shipping_status_id,123);它是否会返回相同的结果? – freento
'$ o-> setData(“shipping_status_id”,123)'工作!怪怪'$ o-> setShippingStatusId(123);'不起作用。 – Guus