我需要一个 DQL 查询,它将返回所有posts
给定的tag
.
posts
并且tags
有一个多对多的关系,给定一个 tag.slug 我应该能够获得与该标签相关的所有帖子,但是如何?
更新:
我将 Doctrine 2.1 与 Symfony 2 一起使用,我的实体如下所示:
/**
* @ORM\Entity
* @ORM\Table(name="articles__posts")
*/
class ArticlePost
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="ArticleTag", inversedBy="posts")
* @ORM\JoinTable(name="articles__posts_tags")
*/
protected $tags;
}
/**
* @ORM\Entity
* @ORM\Table(name="articles__tags")
* @UniqueEntity(fields="slug")
*/
class ArticleTag
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="ArticlePost", mappedBy="tags")
*/
protected $posts;
}