Abd*_*el5 11 php doctrine symfony
当我提交symfony2表单时,我收到以下错误:
必须管理或计划实体以便进行单次计算
这个错误是什么意思?
我正在使用旨在向DB添加新项目的表单.我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);
}
Run Code Online (Sandbox Code Playgroud)
Rap*_*lié 22
您需要保持您的实体让EntityManager知道它存在.
$em->persist($item);
$em->flush($item);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9315 次 |
| 最近记录: |