/** * Check if a given Tag object already exists in the database. * * @param Tag $tag The tag to look for in the database. * @return bool */ public function tagExists($tag) { $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` ' . 'WHERE `uid` = ? AND `type` = ? AND `category` = ?'; try { $this->findEntity($sql, array($tag->getOwner(), $tag->getType(), $tag->getName())); } catch (DoesNotExistException $e) { return false; } return true; }
/** * Returns an array mapping a given tag's properties to its values: * ['id' => 0, 'name' = 'Tag', 'owner' = 'User', 'type' => 'tagtype'] * * @param Tag $tag The tag that is going to be mapped * @return array */ private function tagMap(Tag $tag) { return array('id' => $tag->getId(), 'name' => $tag->getName(), 'owner' => $tag->getOwner(), 'type' => $tag->getType()); }