public function findAvailableForArticle(Article $article) { $queryBuilder = $this->createQueryBuilder('p'); $attachedIds = array_map(function ($package) { return $package->getId(); }, $article->getPackages()->toArray()); if (!empty($attachedIds)) { $queryBuilder->where($queryBuilder->expr()->notIn('p.id', implode(', ', $attachedIds))); } $queryBuilder->orderBy('p.id', 'desc'); return $queryBuilder->getQuery()->getResult(); }