我了解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。我该怎么办?
谢谢
答案 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;
}
}