Plank\Mediable\Mediable::getMediaMatchAll PHP Метод

getMediaMatchAll() публичный Метод

Retrieve media attached to multiple tags simultaneously.
public getMediaMatchAll ( array $tags ) : boolean
$tags array
Результат boolean
    public function getMediaMatchAll(array $tags)
    {
        $this->rehydrateMediaIfNecessary($tags);
        //group all tags for each media
        $model_tags = $this->media->reduce(function ($carry, Media $media) {
            $carry[$media->getKey()][] = $media->pivot->tag;
            return $carry;
        }, []);
        //exclude media not matching all tags
        return $this->media->filter(function (Media $media) use($tags, $model_tags) {
            return count(array_intersect($tags, $model_tags[$media->getKey()])) === count($tags);
        })->keyBy(function (Media $media) {
            return $media->getKey();
        })->values();
    }