Symfony2 - 实体和关系注释

时间:2014-04-04 16:29:40

标签: sql entity-framework symfony relationship

这是实体关系的经典方法;

/**
 * @ORM\OneToMany(targetEntity="Product", mappedBy="category")
 */
protected $products;

和其他实体;

/**
 * @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
 * @ORM\JoinColumn(name="category_id", referencedColumnName="id")
 */
protected $category;

但是,当我使用这种方法时,我不能使用限制功能。取得所有结果。但是,我应该使用sql限制功能。所以,我使用了一个存储库类。我再次写了所有的sql代码。我再次使用了join函数。在这种情况下,relationsip注释是否必要?我还需要添加此注释吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,没有办法做你想问的事。您将不得不编写自定义DQL,最好是在自定义存储库中,以便准确地获取您想要的内容。当然,你仍然需要注释本身,正如Doctrine所要求的那样,需要做很多事情,并且通常要在你的实体之间保持良好的关系模型。

使用自动方法控制关联关联方式时,最接近的注释是OrderBy一个:

/*
 * @OneToMany(...)
 * @OrderBy({"name" = "ASC"})
 */
 protected $relation;