gpt4 book ai didi

php - Symfony 2 - 实体必须被管理或安排删除以进行单次计算

转载 作者:可可西里 更新时间:2023-10-31 22:09:07 25 4
gpt4 key购买 nike

当我提交 symfony2 表单时出现以下错误:

Entity has to be managed or scheduled for removal for single computation

这个错误是什么意思?

我正在使用旨在向数据库添加新项目的表单。我在表单中有多个 ManyToOne 关系。

   /**
* This code is aimed at checking if the book is choseen and therefore whether any further works may be carried out
*/
$session = new Session();
if(!$session->get("App_Books_Chosen_Lp")) return new RedirectResponse($this->generateUrl('app_listbooks'));

$request = $this->get('request');
$em = $this->getDoctrine()->getManager();
if($item_id != null)
{
/* THIS CODE IS NOT EXECUTED IN THE GIVEN CASE */
}
else
{
// Add
$item = new Items();
$form = $this->createForm(new ItemsType(), $item);
$form->add('save', 'submit', array('label' => 'Add item'));
}
$form->remove('documentid');
$form->remove('book');
$form->handleRequest($request);
if ($form->isValid()) {

if($item_id != null)
{
/* THIS CODE IS NOT EXECUTED IN THE GIVEN CASE */
}
else
{
/* HERE ERROR OCCURS */
// Add

$book = $em->getReference('AppBundle:Books', $session->get("App_Books_Chosen_Lp"));
if( $book ) $item->setBook($book);
$doc = $em->getReference('AppBundle:Documents', $doc_id);
if( $doc ) $item->setDocumentid($doc);
$em->flush($item);
$session = new session();
$session->getFlashBag()->add('msg', 'Item was added.');
$url = $this->generateUrl("app_documents_details", array("id" => $doc_id));
return $this->redirect($url);
}

最佳答案

您需要保留您的实体,让 EntityManager 知道它存在。

$em->persist($item);
$em->flush($item);

关于php - Symfony 2 - 实体必须被管理或安排删除以进行单次计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30675246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com