学说2:将选择与从另一个具有相同结构的表中选择



在我使用学说2的Symfony应用程序中,我有两个表:约会和约会_archived。两张表都具有相同的(!(结构,并且字段相同!

我在约会中的功能:

private function getAppointments()
{
    $qb = $this->createQueryBuilder('a');
    $qb->leftJoin('a.instructor', 'i')
        ->leftJoin('i.contactdetails', 'c')
        ->join('a.area', 'ar');  
    return $qb;
}

此存储库指向我的桌子约会。

如何在此查询中添加"约会_archived"中的数据选择?我的目标是我的查询不仅考虑了我表约会中的数据,而且还考虑了我的表格中的数据,并带有存档数据约会。

我假设您的APPOINTMENTS_ARCHIVED表是APPOINTMENTS表的存档版本?

这意味着存档的表不映射到实体,因此无法使用DQL

获得

您最好的选择是到用户本机SQL。

您可以选择多个实体而没有相关的实体。在这种情况下:

$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');  

在这种情况下,您必须分别加入并分别选择关系。

相关内容

  • 没有找到相关文章

最新更新