public static function CreateOrFind($tagName) { $tagService = new TagService(); $tag = $tagService->getTagByName($tagName); if (!$tag) { $tag = new Models\Tag(); $tag->name = $tagName; $tag->save(); } return $tag; }
/** * @param $tagName * @return Models\Image[]|false * @throws TigerException */ public function getImagesByTag($tagName) { $tagService = new TagService(); $tag = $tagService->getTagByName($tagName); if (!$tag) { throw new TigerException("No such tag '{$tagName}'."); } $imageTagLinks = Models\ImageTagLink::search()->where('tag_id', $tag->tag_id)->where('deleted', 'No')->exec(); $imageIds = []; foreach ($imageTagLinks as $imageTagLink) { /** * @var $imageTagLink Models\ImageTagLink */ $imageIds[] = $imageTagLink->file_id; } return $this->getImagesByImageIds($imageIds); }