繁体   English   中英

使用Symfony将数据从一个表插入到另一个表

[英]Insert data from one table to another table using Symfony

对于这个问题,我在Stack Overflow上发现的答案很少,但是这些问题并没有解决我的问题。我正在使用symfony2框架。

我想将数据从一个表插入到另一个表并删除第一个表中的数据。

假设有两个表叫做Book&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表插入到Author表时,我想将book_type'novel '更改为'drama'

我也想从数据表中删除数据行一旦数据传输到作者表。

*请注意,我更改了变量名称的实际代码的方法名称。

更新

我找到了解决问题的方法,更新了代码,现在使用实体而不是查询将数据从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;
}

尝试映射表并进行相应更新; 可能有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM