Php 按另一实体的关系查找实体

Php 按另一实体的关系查找实体,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我有以下任务类/实体: /** * @ORM\Entity * @InheritanceType("SINGLE_TABLE") * @DiscriminatorColumn(name="discr", type="string") * @DiscriminatorMap({"task" = "Task", "upload" = "UploadTask", "follow" = "FollowTask", "like" = "LikeTask", "comment" = "Comment

我有以下
任务
类/实体:

/**
 * @ORM\Entity
 * @InheritanceType("SINGLE_TABLE")
 * @DiscriminatorColumn(name="discr", type="string")
 * @DiscriminatorMap({"task" = "Task", "upload" = "UploadTask", "follow" = "FollowTask", "like" = "LikeTask", "comment" = "CommentTask", "scape" = "ScrapeTask"})
 */
class Task
{

   /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;


     /**
     * @ORM\ManyToOne(targetEntity="PlayBot\UserBundle\Entity\User", inversedBy="task")
     * @ORM\JoinColumn(name="account_id", referencedColumnName="id")
     */
    protected $account;

    /**
     * @ORM\ManyToOne(targetEntity="PlayBot\PlayBundle\Entity\Interval", inversedBy="task")
     * @ORM\JoinColumn(name="interval_id", referencedColumnName="id", nullable=true)
     */
    protected $interval = NULL;

}
以及以下
间隔
类:

/**
 * @ORM\Entity
 * @ORM\Table(name="interval")
 */
class Interval
{

   /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

   /**
    * @ORM\OneToMany(targetEntity="PlayBot\PlayBundle\Entity\Task", mappedBy="interval")
    */
    protected $task;

    /**
    * @ORM\Column(type="integer")
    */
    protected $interval;

}
我想找到所有
任务
间隔
$Interval
设置为
20


如何执行此操作?

使用条令查询生成器

$tasks = $this->em->getRepository('Task')->createQueryBuilder('t')
   ->join('t.interval', 'i')
   ->where('i.interval = :interval')
   ->setParameter('interval', 20)
   ->getQuery()
   ->getResult();