Symfony2-按父属性对象查找

Symfony2-按父属性对象查找,symfony,doctrine-orm,entity,Symfony,Doctrine Orm,Entity,我了解查询生成器的工作原理,但我正在尝试正确使用ORM 我有两个实体:天和任务 Tasks实体链接到具有多工单关联的Day实体 Tasks.orm.yml DJU\MyBundle\Entity\Tasks: 类型:实体 表:空 repositoryClass:DJU\MyBundle\Entity\TasksRepository 身份证件: 身份证件: 类型:整数 id:对 发电机: 策略:汽车 领域: 说明: 类型:文本 许多人: 天: 目标:天 倒置者:任务 joinColumn: 姓名

我了解查询生成器的工作原理,但我正在尝试正确使用ORM

我有两个实体:天和任务

Tasks实体链接到具有多工单关联的Day实体

Tasks.orm.yml

DJU\MyBundle\Entity\Tasks:
类型:实体
表:空
repositoryClass:DJU\MyBundle\Entity\TasksRepository
身份证件:
身份证件:
类型:整数
id:对
发电机:
策略:汽车
领域:
说明:
类型:文本
许多人:
天:
目标:天
倒置者:任务
joinColumn:
姓名:days\u id

referencedColumnName:id
存储库是您的解决方案

class TasksRepository {
    public function findByDay(Day $day)
    {
        $q = $this
        ->createQueryBuilder('t')
        ->select('t')
        ->leftJoin('t.days', 'd')
        ->where("d.id = :dayId")
        ->setParameter('dayId', $dayId)
        ->getQuery();
        $result = $q->getResult();

        return $result;
    }
}
使用以下工具查找第一天的任务:

$day = $em->getRepository('DJUMyBundle:Day')->find(1);
$tasks = $em->getRepository('DJUMyBundle:Tasks')->findByDay($day);

谢谢,我终于放弃了,使用了查询生成器。