我在创建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个标签。如果我需要,我必须要做的是这个产品的所有标签吗?