使用Doctrine保存对象 - 选择正确的表

时间:2016-09-23 10:54:58

标签: symfony doctrine

我有两个实体,ProductPurchased。我有一个存储在Db中的默认产品列表,用户可以选择购买。付款完成后,我想将所选产品存储在Purchased

这是我使用Paypal进行付款检查时返回的代码Verified

        $product = new Product;
        $product->setName($this->get('session')->get('name'));
        $product->setDescription($this->get('session')->get('description'));
        $product->setPrice($this->get('session')->get('price'));

        $purchased = new Purchased;
        $purchased = $product;

        $em = $this->getDoctrine()->getManager(); 
        $em->persist($purchased);
        $em->flush();

最后,我将对象保存在Product而不是Purchased中,这实际上是我要插入对象的表。 建议?

1 个答案:

答案 0 :(得分:1)

看看你的代码:

$purchased = new Purchased;
$purchased = $product;

在第2行,您的$purchased成为$product个实例,这就是为什么在您拨打Product

时插入$em->persist($purchased);的原因