Symfony2 - 由父属性对象查找

时间:2015-06-12 13:54:42

标签: symfony doctrine-orm entity

我了解Query Builder的工作原理,但我正在尝试正确使用ORM。

我有两个实体:天和任务

任务实体链接到具有ManyToOne关联的日实体。

Tasks.orm.yml

<Button Style="{StaticResource buttonStyle}" ... />

Tasks.php

DJU\ MyBundle\ Entity\ Tasks:
  type: entity
table: null
repositoryClass: DJU\ MyBundle\ Entity\ TasksRepository
id:
  id:
  type: integer
id: true
generator:
  strategy: AUTO
fields:
  description:
  type: text
manyToOne:
  days:
  targetEntity: Days
inversedBy: tasks
joinColumn:
  name: days_id
referencedColumnName: id

这是我的控制器:

class Tasks {
    /**
     * Get temps
     *
     * @return \CIT\CalendarBundle\Entity\Temps 
     */
    public function getTemps()
    {
        return $this->temps;
    }
}

正如您所看到的,我的请求表现不佳。我想找到Days by Days id。我该怎么办?

谢谢

1 个答案:

答案 0 :(得分:0)

存储库是您的解决方案。

$scope.alltimes

使用以下方式查找第1天的任务:

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;
    }
}