Newscoop\Package\PackageRepository::findAvailableForArticle PHP Method

findAvailableForArticle() public method

Find available for article
public findAvailableForArticle ( Article $article ) : array
$article Article
return array
    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();
    }