我想为创建表单构建一个预览页面。在previewAction
中,我将记录的" deleted“属性设置为"1”,因为在BE中,list模块用于批准插入的记录--因此,如果记录始终没有最终保存,那么它就会被删除。
问题:我可以创建记录(deleted=1
) -我可以跳回表单(不返回历史记录,因为我必须保留创建的对象)。但是如果我再次提交属性映射告诉我
未找到标识为"3“的MyModel类型的对象。
当然是因为它被删除了。要忽略已删除的存储库中的设置在此不采取行动。
是的,我可以绕过Extbase魔术手动填充所有东西,但这不是我想要的。
以下是我想要了解的行动
/**
* action preview
*
* @param MyModel
* @return void
*/
public function previewAction(MyModel $newModel)
{
//check if model was already saved
$uid = $this->request->hasArgument('uid') ? this->request->getArgument('uid') : 0;
if($uid){
$newModel = $this->myRepository->findDeletedByUid($uid);
$this->myRepository->update($newModel);
}
else{
$newModel->setDeleted(true);
$this->myRepository->add($newModel);
}
$this->view->assign('ad', $newModel);
$this->persistenceManager->persistAll();
$uid = $this->persistenceManager->getIdentifierByObject($newModel);
$this->view->assign('uid', $uid);
}
有什么想法吗?
https://stackoverflow.com/questions/37672272
复制相似问题