private function deleteUnusedCategories($activeList) { //TODO: do this with delte constraints $delete = new Gpf_SqlBuilder_DeleteBuilder(); $delete->from->add(Pap_Db_Table_BannersCategories::getName()); $delete->where->add(Pap_Db_Table_BannersCategories::CATEGORYID, 'not in', $activeList); $delete->execute(); $delete = new Gpf_SqlBuilder_DeleteBuilder(); $delete->from->add(Pap_Db_Table_BannersCategories::getName()); $delete->where->add(Pap_Db_Table_BannersCategories::CATEGORYID, 'not in', $activeList); $delete->execute(); }
/** * @throws Gpf_DbEngine_TooManyRowsException * @throws Gpf_DbEngine_NoRowException * @param string $categoryId * @return Gpf_Data_Record */ private function getCategoryData($categoryId) { $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add(Pap_Db_Table_BannersCategories::DESCRIPTION, Pap_Db_Table_BannersCategories::DESCRIPTION, 'c'); $selectBuilder->select->add(Pap_Db_Table_BannersCategories::CATEGORYID, Pap_Db_Table_BannersCategories::CATEGORYID, 'c'); $selectBuilder->select->add(Gpf_Db_Table_HierarchicalDataNodes::NAME, Gpf_Db_Table_HierarchicalDataNodes::NAME, 'h'); $selectBuilder->select->add(Gpf_Db_Table_HierarchicalDataNodes::STATE, 'visible', 'h'); $selectBuilder->from->add(Gpf_Db_Table_HierarchicalDataNodes::getName(), "h"); $selectBuilder->from->addLeftJoin(Pap_Db_Table_BannersCategories::getName(), "c", "h.".Gpf_Db_Table_HierarchicalDataNodes::CODE." = c.".Pap_Db_Table_BannersCategories::CATEGORYID); $selectBuilder->where->add(Gpf_Db_Table_HierarchicalDataNodes::TYPE, '=', Pap_Features_BannersCategories_Main::BANNERS_CATEGORIES_HIERARCHICAL_DATE_TYPE); $selectBuilder->where->add(Pap_Db_Table_BannersCategories::CATEGORYID,'=',$categoryId); $row = $selectBuilder->getOneRow(); return $row; }
function init() { $this->setTable(Pap_Db_Table_BannersCategories::getInstance()); parent::init(); }
/** * @return Pap_Db_Table_CampaignsCategories */ public static function getInstance() { if(self::$instance === null) { self::$instance = new self; } return self::$instance; }