public function deleteTags() { $query = "\n SELECT *\n FROM " . Tag::getTableName() . " tag\n WHERE type_id='" . $this->escape($this->getId()) . "'\n "; $rows = $this->queryAndFetch($query); $deletedTags = array(); foreach ($rows as $values) { $tag = new Tag($this->getSource()); $tag->setValues($values); $deletedTags[] = $tag->delete(); } return $deletedTags; }
public function deleteSynonymes() { $query = "\n SELECT *\n FROM " . Tag::getTableName() . " tag\n WHERE mastertag_id='" . $this->escape($this->getId()) . "'\n "; $rows = $this->queryAndFetch($query); foreach ($rows as $values) { $tag = new Tag($this->getSource()); $tag->setValues($values); $tag->delete(); } return $this; }
<?php use PMD\Capital\Configuration\DataSource; use PMD\Capital\Module\Tag\Model\Tag; use PMD\Capital\Model\ObjectType; use PMD\Capital\Module\Tag\Model\Type; use PMD\Capital\Module\Tag\Model\Association; use PMD\Capital\Module\Tag\Model\AssociationType; $tagDataSource = DataSource::get('new'); $tagDataSource->query('DROP TABLE ' . Tag::getTableName() . ''); $tagDataSource->query('DROP TABLE ' . ObjectType::getTableName() . ''); $tagDataSource->query('DROP TABLE ' . Type::getTableName() . ''); $tagDataSource->query('DROP TABLE ' . Association::getTableName() . ''); $tagDataSource->query('DROP TABLE ' . AssociationType::getTableName() . ''); echo "Create pmd_tag table\n"; $query = "\n CREATE TABLE `" . Tag::getTableName() . "` (\n `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n `parent_id` INT(32),\n `mastertag_id` INT(32),\n `type_id` INT(32) UNSIGNED,\n `caption` VARCHAR(100) NOT NULL,\n `leftbound` INT(32) UNSIGNED,\n `rightbound` INT(32) UNSIGNED,\n `datecreation` DATETIME,\n `datemodification` DATETIME,\n `slug` VARCHAR(100) NOT NULL,\n `data` TEXT,\n PRIMARY KEY (`id`),\n INDEX `pmdtag_parentid` (`parent_id`),\n INDEX `pmdtag_mastertagid` (`mastertag_id`),\n INDEX `pmdtag_bounds` (`leftbound`, `rightbound`),\n INDEX `pmdtag_keyword` (`caption`),\n INDEX `pmdtag_slug` (`slug`)\n )\n COLLATE='utf8_general_ci'\n ENGINE=InnoDB\n;\n"; $tagDataSource->query($query); echo "Create pmd_tagtype table\n"; $query = "\n CREATE TABLE `" . Type::getTableName() . "` (\n `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n `parent_id` INT(32),\n `caption` VARCHAR(100) NOT NULL,\n `qname` VARCHAR(100) NOT NULL,\n `leftbound` INT(32) UNSIGNED,\n `rightbound` INT(32) UNSIGNED,\n `datecreation` DATETIME,\n `datemodification` DATETIME,\n `data` TEXT,\n PRIMARY KEY (`id`),\n INDEX `pmdtagtype_parentid` (`parent_id`),\n INDEX `pmdtagtype_qname` (`qname`),\n INDEX `pmdtagtype_bounds` (`leftbound`, `rightbound`),\n INDEX `pmdtagtype_caption` (`caption`)\n )\n COLLATE='utf8_general_ci'\n ENGINE=InnoDB\n;\n"; $tagDataSource->query($query); echo "Create pmd_tagassociation table\n"; $query = "\n CREATE TABLE `" . Association::getTableName() . "` (\n `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n `tag_id` INT(32) UNSIGNED NOT NULL,\n `object_id` INT(32) UNSIGNED NOT NULL,\n `objecttype_id` INT(32) UNSIGNED NOT NULL,\n `type_id` INT(32) UNSIGNED NOT NULL,\n `datecreation` DATETIME,\n `datemodification` DATETIME,\n PRIMARY KEY (`id`),\n INDEX `pmdtagassociation_tagid` (`tag_id`),\n INDEX `pmdtagassociation_objectid` (`object_id`),\n INDEX `pmdtagassociation_objecttypeid` (`objecttype_id`)\n )\n COLLATE='utf8_general_ci'\n ENGINE=InnoDB\n;\n"; $tagDataSource->query($query); echo "Create pmd_objecttype table\n"; $query = "\n CREATE TABLE `" . ObjectType::getTableName() . "` (\n `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n `parent_id` INT(32),\n `qname` VARCHAR(100) NOT NULL,\n `caption` VARCHAR(100) NOT NULL,\n `leftbound` INT(32) UNSIGNED,\n `rightbound` INT(32) UNSIGNED,\n `datecreation` DATETIME,\n `datemodification` DATETIME,\n `data` TEXT,\n PRIMARY KEY (`id`),\n INDEX `pmdobjecttype_parentid` (`parent_id`),\n INDEX `pmdobjecttype_qname` (`qname`),\n INDEX `pmdobjecttype_caption` (`caption`),\n INDEX `pmdobjecttype_bounds` (`leftbound`, `rightbound`)\n )\n COLLATE='utf8_general_ci'\n ENGINE=InnoDB\n;\n"; $tagDataSource->query($query); echo "Create pmd_tagassociationtype table\n"; $query = "\n CREATE TABLE `" . AssociationType::getTableName() . "` (\n `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n `qname` VARCHAR(100) NOT NULL,\n `caption` VARCHAR(100) NOT NULL,\n `datecreation` DATETIME,\n `datemodification` DATETIME,\n PRIMARY KEY (`id`),\n INDEX `pmdassociationtype_qname` (`qname`),\n INDEX `pmdassociationtype_caption` (`caption`)\n )\n COLLATE='utf8_general_ci'\n ENGINE=InnoDB\n;\n"; $tagDataSource->query($query);