$qb = $this->createQueryBuilder('p');
$qb->leftJoin(Entity1::class, 'a', 'WITH', 'p.id = a.id')
->leftJoin(Entity2::class, 'fp', 'WITH', 'p.id = fp.id')
->leftJoin(Entity3::class, 'vm', 'WITH', 'p.id = vm.id');
$expressionBuilder = new Expr();
$expressions[] = $expressionBuilder->orX(
$expressionBuilder->isInstanceOf('p', Entity1::class),
$expressionBuilder->isInstanceOf('p', Entity3::class),
$expressionBuilder->andX(
$expressionBuilder->isInstanceOf('p', Entity2::class),
$expressionBuilder->eq('fp.displayed', ':displayed')
)
);
$qb->andWhere($expressionBuilder->andX(...$expressions));
$qb->andWhere('p.active = :active')
->setParameter('active', true)
->setParameter('displayed', true)
->andWhere('p.publishedAt < CURRENT_TIMESTAMP()');
$qb->setMaxResults($limit)
->setFirstResult($offset)
->orderBy('p.publishedAt', 'DESC');
return $qb->getQuery();
Я в интернете вижу в основном примеры с Java. Может, Selenium нужен для Java, а для PHP - нет?
Университет -- сугубо бюрократическя организация, как и сам факт его окончания, всем до фонаря ваши знания