【发布时间】:2016-09-09 07:07:05
【问题描述】:
我在 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 theStock`
这不起作用。 Product 表的 Stock 字段未更新。谁能告诉我哪里出错了?
【问题讨论】:
-
请提供更多详细信息 - 将
debug::dump($product);甚至debug::show($UniqueCode);放入您的代码中以进行分析。 -
您完全确定您从查询中获得了 $product 吗?在查询后尝试
var_dump($product)或echo $product->ID,或使用适当的工具(如 xdebug)来调试您的代码。 -
@wmk,是的,
$product返回记录 -
@munomono,
$product返回记录 -
@munomono,实际上我将字符串值发送到整数字段,
Stock是整数字段。我已经解决了这个问题,谢谢
标签: silverstripe