Newscoop\Services\PlaylistsService::removeLeftItems PHP Method

removeLeftItems() public method

Remove items above the limit on playlist.
public removeLeftItems ( Playlist $playlist )
$playlist Newscoop\Entity\Playlist
    public function removeLeftItems($playlist)
    {
        if ($playlist->getMaxItems() != null) {
            $allowedArticles = $this->em->createQuery('SELECT pa.id FROM Newscoop\\Entity\\PlaylistArticle pa WHERE pa.idPlaylist = :playlistId AND pa.order >= 0 ORDER BY pa.order ASC')->setParameter('playlistId', $playlist->getId())->setMaxResults($playlist->getMaxItems())->getArrayResult();
            $ids = array();
            foreach ($allowedArticles as $article) {
                $ids[] = $article['id'];
            }
            $this->em->createQuery('DELETE FROM Newscoop\\Entity\\PlaylistArticle pa WHERE pa.id NOT IN (:ids) AND pa.idPlaylist = :playlistId')->setParameter('ids', $ids)->setParameter('playlistId', $playlist->getId())->execute();
        }
    }