我正在从typo3 6.2.31到7.6.23的迁移过程
我有以下功能:
Chef::HTTP
它说一切正常,但它不会持久存在数据。可能是什么问题?
当我手动将记录添加到数据库时,它也没有显示:(
答案 0 :(得分:2)
编辑: 我撤回我在这里说的所有内容。 @ paul-beck是对的,在createAction实际上保留创建的对象之后重定向。我确定它并不总是那样,并且在文档引入时无法找到。我将此答案作为参考。
AbstractController在您的操作返回时接管,会自动执行持久化操作。这发生在createActions和updateActions之后。但是你的重定向可以防止这种情况发生。
,只需在重定向之前通过调用persistall手动合并持久化,你就可以了。$this->persistenceManager->persistAll();
$this->redirect('list');
您需要PersistenceManager的实例。
/**
* @var \TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface
* @inject
*/
protected $persistenceManager;
答案 1 :(得分:2)
经过一些TeamViewer调查后,我们发现问题出在模型和TCA中。
模型具有属性protected $uid = ''
。当然,UID不能是字符串,不应该声明为此字符串。但是,createAction中的调试表示该对象是一个"持久化实体"所以持久性经理认为没有什么可做的。从模型中删除$ uid并更新到TCA以成为7 LTS兼容后,问题就解决了。
我认为将$ uid声明为模型中的整数并不是一个问题,但作为一个字符串,它对系统来说太过分了。令人惊讶的是,这适用于TYPO3 6 LTS ...