在我使用Doctrine 2的Symfony应用程序中,我有两个表: 任命和任命_ARCHIVED。 两个表都有相同的(!)结构,字段相同!
我在AppointmentsRepository中的功能:
private function getAppointments()
{
$qb = $this->createQueryBuilder('a');
$qb->leftJoin('a.instructor', 'i')
->leftJoin('i.contactdetails', 'c')
->join('a.area', 'ar');
return $qb;
}
此存储库指向我的表APPOINTMENTS。
如何在APPOINTMENTS_ARCHIVED中为此查询添加一组数据?我的目标是我的查询不仅考虑我的表APPOINTMENTS中的数据,而且我的表中的数据还包含存档数据APPOINTMENTS_ARCHIVED。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以选择不相关的多个实体。在这种情况下:
$qb = $this->createQueryBuilder('a');
$qb->addSelect('aa')
->from(AppointmentArchived::class, 'aa'); // ->join(AppointmentArchived::class, 'aa'); will also work
$qb->leftJoin('a.instructor', 'i')
->leftJoin('i.contactdetails', 'c')
->join('a.area', 'ar');
$qb->leftJoin('aa.instructor', 'aai')
->leftJoin('aai.contactdetails', 'aac')
->join('aa.area', 'aar');
在这种情况下,您必须分别加入并选择关系。