Поскольку вы присоединяетесь к подзапросу, может быть немного сложно передать этот запрос SQL в DQL. К счастью, вам не нужно. Doctrine ORM позволяет вам выполнять обычный SQL запрос и затем отображать результаты обратно на объект, как это было бы с DQL.
Вы можете взглянуть на Native Queries и ResultSetMapping для этого: https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/reference/native-sql.html
В вашем случае это может выглядеть примерно так в методе поиска хранилища:
public function findLatestUnpaidOrders()
{
$sql = '...'; // Your query
$rsm = new ResultSetMappingBuilder($this->em);
$rsm->addRootEntityFromClassMetadata(Order::class, 'order');
$query = $this->em->createNativeQuery($sql, $rsm);
// $query->setParameter('owner_id', $user->getId()); // if you later want to pass parameters into your SQL query
return $query->getResult();
}