Dql从多对多选择关系。如何获得所有结果(产品的所有标签)?

时间:2016-03-25 08:32:34

标签: symfony doctrine

我在创建dql以获取多对多关系的结果时遇到问题。

我有两个实体:

  

产品(标识,名称,标签) - 产品代码:

/**
    * @ORM\ManyToMany(
    *       targetEntity = "Tag",
    *       inversedBy = "products"
    * )
    * @ORM\JoinTable(
    *       name = "products_tags"
    * )
    */
    private $tags;`

)
  标签中的

标签(标识,标题)代码:

/**
    * @ORM\ManyToMany(
    *       targetEntity = "Product",
    *       mappedBy = "tags"
    * )
    */
    private $products;
)

DQL代码: $query = $em->createQuery('SELECT p.id as productId, t.title as productTag FROM My\AppBundle\Entity\Product p JOIN p.tags t WHERE p.id = 1'); $product = $query->getResult();

当我想使用这个dql时,在我的结果中我只看到一个标签

array: [▼ "productId" => 2 "productTag " => "tag1" ] 但是这个产品有3个标签。如果我需要,我必须要做的是这个产品的所有标签吗?

0 个答案:

没有答案