/** * @param string $name * @param string $tagGroup * @param string $entity * @param int $entityId * * @return bool */ public static function addTag($name, $tagGroup, $entity, $entityId) { if (!($tag = Tags::findOne(['name' => $name, 'tag_group' => $tagGroup]))) { $tag = new Tags(); $tag->name = $name; $tag->tag_group = $tagGroup; $tag->save(); } if ($tag) { if (!($tagEntity = TagEntity::findOne(['tag_id' => $tag->id, 'entity' => $entity, 'entity_id' => $entityId]))) { $tagEntity = new TagEntity(); $tagEntity->tag_id = $tag->id; $tagEntity->entity = $entity; $tagEntity->entity_id = $entityId; $tagEntity->save(); } if ($tagEntity) { return true; } } return false; }