1. Вам нужно объявить связи в сущностях -
https://www.doctrine-project.org/projects/doctrine...
2. Написать метод в вашем репозитории, через
createQueryBuilder
Например что- такое используя
leftJoin
c
Join::WITH
public function getAllProductsWithCategories(): array
{
/** @var Product[] $entities */
$entities = $this->repo->createQueryBuilder('t')
->select('t')
->leftJoin(Category::class, 't2', Join::WITH,'t.id = t2.product') //здесь джойним по полям, которые объявлены в наших сущностях (пункт 1)
->getQuery()
->getArrayResult();
if (count($entities) === 0) {
throw new EntityNotFoundException('No product.');
}
return $entities;
}
Но 2 пункт очень специфичен и возможно не ваш случай, обычно, если вы правильно сделали 1 пункт, то есть, если Entity имеет правильные ассоциации вы сможете через них достать другие сущности.