/**
  * カテゴリの削除を実行する.
  *
  * 下記の場合は削除を実施せず、エラーメッセージを表示する.
  *
  * - 削除対象のカテゴリに、子カテゴリが1つ以上ある場合
  * - 削除対象のカテゴリを、登録商品が使用している場合
  *
  * カテゴリの削除は、物理削除で行う.
  *
  * @param  SC_FormParam $objFormParam
  * @param  SC_Helper_Db $objDb
  * @return void
  */
 public function doDelete(&$objFormParam, &$objDb)
 {
     $category_id = $objFormParam->getValue('category_id');
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     // 子カテゴリのチェック
     $where = 'parent_category_id = ? AND del_flg = 0';
     $exists = $objQuery->exists('dtb_category', $where, array($category_id));
     if ($exists) {
         $this->arrErr['category_name'] = '※ 子カテゴリが存在するため削除できません。<br/>';
         return;
     }
     // 登録商品のチェック
     $table = 'dtb_product_categories AS T1 LEFT JOIN dtb_products AS T2 ON T1.product_id = T2.product_id';
     $where = 'T1.category_id = ? AND T2.del_flg = 0';
     $exists = $objQuery->exists($table, $where, array($category_id));
     if ($exists) {
         $this->arrErr['category_name'] = '※ カテゴリ内に商品が存在するため削除できません。<br/>';
         return;
     }
     // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。)
     $objDb->sfDeleteRankRecord('dtb_category', 'category_id', $category_id, '', true);
 }
 /**
  * カテゴリの削除を実行する.
  *
  * 下記の場合は削除を実施せず、エラーメッセージを表示する.
  *
  * - 削除対象のカテゴリに、子カテゴリが1つ以上ある場合
  * - 削除対象のカテゴリを、登録商品が使用している場合
  *
  * カテゴリの削除は、物理削除で行う.
  *
  * @param SC_FormParam $objFormParam
  * @param SC_Helper_Db $objDb
  * @return void
  */
 function doDelete(&$objFormParam, &$objDb)
 {
     $category_id = $objFormParam->getValue('category_id');
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     // 子カテゴリのチェック
     $where = 'parent_category_id = ? AND del_flg = 0';
     $exists = $objQuery->exists('dtb_category', $where, array($category_id));
     if ($exists) {
         $this->arrErr['category_name'] = t('c_* Cannot be deleted since a subcategory exists.<br/>_01');
         return;
     }
     // 登録商品のチェック
     $table = 'dtb_product_categories AS T1 LEFT JOIN dtb_products AS T2 ON T1.product_id = T2.product_id';
     $where = 'T1.category_id = ? AND T2.del_flg = 0';
     $exists = $objQuery->exists($table, $where, array($category_id));
     if ($exists) {
         $this->arrErr['category_name'] = t('c_* The category cannot be deleted since there are products in the category.<br/>_01');
         return;
     }
     // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。)
     $objDb->sfDeleteRankRecord('dtb_category', 'category_id', $category_id, '', true);
 }
 /**
  * カテゴリの削除を実行する.
  *
  * 下記の場合は削除を実施せず、エラーメッセージを表示する.
  *
  * - 削除対象のカテゴリに、子カテゴリが1つ以上ある場合
  * - 削除対象のカテゴリを、登録商品が使用している場合
  *
  * カテゴリの削除は、物理削除で行う.
  *
  * @param SC_FormParam $objFormParam
  * @param SC_Helper_Db $objDb
  * @return void
  */
 function doDelete(&$objFormParam, &$objDb)
 {
     $category_id = $objFormParam->getValue('category_id');
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     // 子カテゴリのチェック
     $where = "parent_category_id = ? AND del_flg = 0";
     $count = $objQuery->count("dtb_category", $where, array($category_id));
     if ($count > 0) {
         $this->arrErr['category_name'] = "※ 子カテゴリが存在するため削除できません。<br/>";
         return;
     }
     // 登録商品のチェック
     $table = "dtb_product_categories AS T1 LEFT JOIN dtb_products AS T2 ON T1.product_id = T2.product_id";
     $where = "T1.category_id = ? AND T2.del_flg = 0";
     $count = $objQuery->count($table, $where, array($category_id));
     if ($count > 0) {
         $this->arrErr['category_name'] = "※ カテゴリ内に商品が存在するため削除できません。<br/>";
         return;
     }
     // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。)
     $objDb->sfDeleteRankRecord("dtb_category", "category_id", $category_id, "", true);
 }