我在Bolt安装中添加了“产品”内容类型。我想在购买时跟踪和更新库存,因此我添加了一个“可用”整数字段。我设置了一个测试控制器来修改记录。一切似乎正常,但更新从未发生。我想念什么?
<?php
namespace Bundle\Site;
class CartController extends \Bolt\Controller\Base
{
public function addRoutes(\Silex\ControllerCollection $c)
{
$c->match('/test-save', [$this,'testSave']);
return $c;
}
public function testSave()
{
$result=false;
$repo = $this->app['storage']->getRepository('products');
$content = $repo->find(1);
//Error log output confirms that this is the correct record
error_log(get_class($this).'::'.__FUNCTION__.': '.json_encode($content));
$content->set('available',15);
$content->setDatechanged('now');
$result=$repo->save($content); //returns 1
return new \Symfony\Component\HttpFoundation\Response(json_encode($result), \Symfony\Component\HttpFoundation\Response::HTTP_OK);
}
}
答案 0 :(得分:0)
原来,我的代码有效。我正在通过重新加载后端编辑表单来检查结果,该表单显然已经缓存了其数据,因此我看不到值发生了变化。
如果我在两个浏览器选项卡中加载编辑表单并更新其中一个,然后刷新另一个,则会发生同样的事情,所以看来这是我所能做的最好的事情。
答案 1 :(得分:0)
我也遇到过类似的问题。更新的代码未显示或输出的结果不变。推测这是由于在config.yml文件中设置lowercased
而发生的。当debug为true时,您在bolt-data / app /中的所有高速缓存文件都会增加,但是会被排序。
在生产中,建议保留func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText.isEmpty {
searching = false
searchCity.removeAll()
} else {
searching = true
searchCity = cityArray.flatMap({ $0 })
.filter{ $0.range(of: searchText, options: .caseInsensitive) != nil }
}
reloadData()
}
,但此问题也可以签入,因此,在不进行太多更改的情况下,处理它的方法将是最简单的方法。