Symfony2 ORM实体,ManyToOne双向

时间:2013-03-02 23:00:58

标签: symfony doctrine many-to-one

我在Symfony2中有以下实体,一个产品实体和一个评论实体。

产品实体:

/**
 * @ORM\Entity
 * @ORM\Table(name="product")
 */
class Product
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
 /**
 * @ORM\Column(type="string", length=100)
 */
protected $name;

评论实体:

/**
* @ORM\Entity
* @ORM\Table(name="productComment")
*/
class ProductComment
{
    /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    protected $id;
    /**
    * @ORM\ManyToOne(targetEntity="Acme\ProductsBundle\Entity\Product", inversedBy="comments")
    * @ORM\JoinColumn(name="product_id", referencedColumnName="id")
    */
    protected $product;
}

我的问题是我不知道如何从产品对象中获取评论。

1 个答案:

答案 0 :(得分:4)

您必须在comments实体中添加Product属性:

/**
 * @ORM\OneToMany(targetEntity="Acme\ProductsBundle\Entity\ProductComment", mappedBy="product")
 */
private $comments;

然后使用

$product->getComments();