当前位置: 首页>>代码示例>>PHP>>正文


PHP SC_Query_Ex::setOption方法代码示例

本文整理汇总了PHP中SC_Query_Ex::setOption方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Query_Ex::setOption方法的具体用法?PHP SC_Query_Ex::setOption怎么用?PHP SC_Query_Ex::setOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SC_Query_Ex的用法示例。


在下文中一共展示了SC_Query_Ex::setOption方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: lfGetMainCat

 /**
  * メインカテゴリーの取得.
  *
  * @param boolean $count_check 登録商品数をチェックする場合はtrue
  * @return array $arrMainCat メインカテゴリーの配列を返す
  */
 function lfGetMainCat($count_check = false)
 {
     $objQuery = new SC_Query_Ex();
     $col = '*';
     $from = 'dtb_category left join dtb_category_total_count ON dtb_category.category_id = dtb_category_total_count.category_id';
     // メインカテゴリーとその直下のカテゴリーを取得する。
     $where = 'level <= 2 AND del_flg = 0';
     // 登録商品数のチェック
     if ($count_check) {
         $where .= ' AND product_count > 0';
     }
     $objQuery->setOption('ORDER BY rank DESC');
     $arrRet = $objQuery->select($col, $from, $where);
     // メインカテゴリーを抽出する。
     $arrMainCat = array();
     foreach ($arrRet as $cat) {
         if ($cat['level'] != 1) {
             continue;
         }
         // 子カテゴリーを持つかどうかを調べる。
         $arrChildrenID = SC_Utils_Ex::sfGetUnderChildrenArray($arrRet, 'parent_category_id', 'category_id', $cat['category_id']);
         $cat['has_children'] = count($arrChildrenID) > 0;
         $arrMainCat[] = $cat;
     }
     return $arrMainCat;
 }
开发者ID:nanasess,项目名称:ec-azure,代码行数:32,代码来源:LC_Page_FrontParts_Bloc_Category.php

示例2: action

 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $objFormParam = new SC_FormParam_Ex();
     // 入力パラメーター初期化
     $this->initParam($objFormParam);
     $objFormParam->setParam($_POST);
     $objFormParam->convParam();
     switch ($this->getMode()) {
         // カテゴリー登録/編集実行
         case 'edit':
             $category_id = $objFormParam->getValue('category_id');
             if ($category_id == '') {
                 $this->doRegister($objFormParam);
             } else {
                 $this->doEdit($objFormParam);
             }
             break;
             // 入力ボックスへ編集対象のカテゴリ名をセット
         // 入力ボックスへ編集対象のカテゴリ名をセット
         case 'pre_edit':
             $this->doPreEdit($objFormParam);
             break;
             // カテゴリ削除
         // カテゴリ削除
         case 'delete':
             $this->doDelete($objFormParam, $objDb);
             break;
             // 表示順を上へ
         // 表示順を上へ
         case 'up':
             $this->doUp($objFormParam);
             break;
             // 表示順を下へ
         // 表示順を下へ
         case 'down':
             $this->doDown($objFormParam);
             break;
             // XXX 使われていないコード?
         // XXX 使われていないコード?
         case 'moveByDnD':
             // DnDしたカテゴリと移動先のセットを分解する
             $keys = explode("-", $_POST['keySet']);
             if ($keys[0] && $keys[1]) {
                 $objQuery = new SC_Query_Ex();
                 $objQuery->begin();
                 // 移動したデータのrank、level、parent_category_idを取得
                 $rank = $objQuery->get('rank', "dtb_category", "category_id = ?", array($keys[0]));
                 $level = $objQuery->get('level', "dtb_category", "category_id = ?", array($keys[0]));
                 $parent = $objQuery->get("parent_category_id", "dtb_category", "category_id = ?", array($keys[0]));
                 // 同一level内のrank配列を作成
                 $objQuery->setOption("ORDER BY rank DESC");
                 if ($level == 1) {
                     // 第1階層の時
                     $arrRet = $objQuery->select('rank', "dtb_category", "level = ?", array($level));
                 } else {
                     // 第2階層以下の時
                     $arrRet = $objQuery->select('rank', "dtb_category", "level = ? AND parent_category_id = ?", array($level, $parent));
                 }
                 for ($i = 0; $i < sizeof($arrRet); $i++) {
                     $rankAry[$i + 1] = $arrRet[$i]['rank'];
                 }
                 // 移動したデータのグループ内データ数
                 $my_count = $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $keys[0]);
                 if ($rankAry[$keys[1]] > $rank) {
                     // データが今の位置より上がった時
                     $up_count = $rankAry[$keys[1]] - $rank;
                     $decAry = $objQuery->select("category_id", "dtb_category", "level = ? AND rank > ? AND rank <= ?", array($level, $rank, $rankAry[$keys[1]]));
                     foreach ($decAry as $value) {
                         // 上のグループから減算
                         $this->lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $value["category_id"], $my_count);
                     }
                     // 自分のグループに加算
                     $this->lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $keys[0], $up_count);
                 } else {
                     if ($rankAry[$keys[1]] < $rank) {
                         // データが今の位置より下がった時
                         $down_count = 0;
                         $incAry = $objQuery->select("category_id", "dtb_category", "level = ? AND rank < ? AND rank >= ?", array($level, $rank, $rankAry[$keys[1]]));
                         foreach ($incAry as $value) {
                             // 下のグループに加算
                             $this->lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $value["category_id"], $my_count);
                             // 合計減算値
                             $down_count += $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $value["category_id"]);
                         }
                         // 自分のグループから減算
                         $this->lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $keys[0], $down_count);
                     }
                 }
                 $objQuery->commit();
             }
             break;
             // カテゴリツリークリック時
         // カテゴリツリークリック時
         case 'tree':
//.........这里部分代码省略.........
开发者ID:nanasess,项目名称:ec-azure,代码行数:101,代码来源:LC_Page_Admin_Products_Category.php


注:本文中的SC_Query_Ex::setOption方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。