对于这个问题,我发现Stack溢出的答案很少,但这些问题对我的问题没有帮助。我使用的是symfony2框架。
我想将数据从一个表插入另一个表并删除第一个表中的数据。
我们假设有两个名为Book& amp;作者。 (请注意,Author表有其他表字段)
public function BooktoAuthorAction(Request $request, $id) {
$response = new Response();
$em = $this->getDoctrine()->getManager();
$books = $em->getRepository("BooksBundle:Books")->findBy(array('booktype' => 'novel'));
$em = $this->getEntityManager();
$query = $em->createQuery(
'INSERT INTO contact(bookName, isbn)
VALUES('book_name', 'isbn_no')
);
$em = $this->getDoctrine()->getManager();
$em->flush();
}
return $response;
}
我有一个名为' book_type'其中我存储了特定书所属的类别。我想更改书籍类型,例如当从Book表格中插入数据到作者表格时我想要更改book_type '小说'到戏剧'
此外,我想在数据传输到作者表后从Book表中删除数据行。
*请注意,我更改了实际代码的变量名称方法名称。
更新
我找到了解决问题的方法。我已经更新了代码。我现在使用实体而不是查询将数据从Book表传递给Author表。
*作者和书籍是两个不同套装中的两个不同实体
public function BookAuthorAction(Request $request, $id) {
$response = new Response();
$em = $this->getDoctrine()->getManager();
$books = $em->getRepository('BooksBundleBundle:Books')->find($id);
$author = new Author();
$author->setBookName($books->getBookName());
$author->setIsbnNo($books->getIsbnNo());
$author->setBookType('drama'); //passing a string as a book type
$em->persist($author);
$em->remove($books);
$em->flush();
return $response;
}