我在Silverstripe中有以下代码
<?php
$product= Product::get()->filter("ProductCode", $UniqueCode)->First();
if($product){
$product->Stock = "250";
$product->Name = "Abcd 123";
$product->write();
echo "New Stock = ".$product->Stock; //this prints the OLD value not the NEW one. Nor database is updated.
}
?>
更新
如果我$product->Name = "Abcd 123";
,Name' field is getting updated, but not the
股票
这不起作用。 Stock
表的Product
字段未更新。谁能告诉我哪里出错了?
答案 0 :(得分:0)
我已经解决了这个问题。对于将来在同一问题上加强此主题的人。
实际上Stock
字段是整数,我提供字符串值。您需要在提供给对象之前将字符串转换为整数。例如:
$updatedvalue = "250";
$updatedvalue = (int)$updatedvalue;