是否可以使用 EntityManagerInterface class 基于两个外键创建查询?

Is it possible to create a query based on two foreign keys using the EntityManagerInterface class?

我正在尝试创建一个包含将 return 提供的两级参考的查询。

我已经在使用 createQueryBuilder 方法,无论如何我的查询看起来非常好。但我仍然有这个问题:

[Semantical Error] line 0, col 47 near 'CarManufacturer': Error: Class App\Entity\Offer has no field or association named model.CarManufacturer

//$manufacturer - string from GET
public function getOffersByManufacturer($manufacturer):
    {
       return $this->em->getRepository(Offer::class)
            ->createQueryBuilder('p')
            ->select('p')
            ->andWhere('p.model.CarManufacturer = :manufacturer')
            ->setParameter('manufacturer', $manufacturer)
            ->getQuery()
            ->execute();
    }

无论如何Table offer 有一个到模型的外键(ManyToOne),下一个模型(实体)有一个到 CarManufacturer(实体)的外键(ManyToOne)

我想使用 spring

得到这样的东西
public List<Offer> getOffersByManufacturer(int manuacturerId):
{
   String jpql = "select o from Offer o where o.carModel.manufacturer.id = :id order by o.title";
   TypedQuery<Offer> query = em.createQuery(jpql, Offer.class);
   query.setParameter("id", manuacturerId);
   return query.getResultList();
}

替换:

->andWhere('p.model.CarManufacturer = :manufacturer')

与:

->innerJoin('p.model', 'm')
->andWhere('m.CarManufacturer = :manufacturer')

或者:

use Doctrine\ORM\Query\Expr\Join;

->innerJoin('p.model', 'm', Join::WITH, 'm.CarManufacturer = :manufacturer')