2012-05-29 78 views
0

我需要用Doctrine2將購物車內容保存到數據庫中。目前,我堅持實體提案。我不知道如何按順序保存每件物品的數量。我知道它應該是something like this,但我不知道如何實現這一點。用Doctrine2保存電子商務車

class Order 
{ 
    … 

    /** 
    * @ORM\ManyToOne(targetEntity="Acme\EcommerceBundle\Entity\Client", inversedBy="orders") 
    */ 
    private $client; 

    /** 
    * @ORM\ManyToMany(targetEntity="Acme\EcommerceBundle\Entity\Item") 
    */  
    private $items; 
} 

回答

2

而不是直接使用Item的實體,您必須創建新的實體OrderItem

class OrderItem 
{ 
    … 

    private $qty; 

    /** 
    * @ORM\ManyToOne(targetEntity="Acme\EcommerceBundle\Entity\Order") 
    */ 
    private $order; 

    /** 
    * @ORM\OneToOne(targetEntity="Acme\EcommerceBundle\Entity\Item") 
    */  
    private $item; 
} 

而在你Order實體使用下面的映射:

class Order 
{ 
    … 

    /** 
    * @ORM\OneToMany(targetEntity="Acme\EcommerceBundle\Entity\OrderItem") 
    */  
    private $items; 
}