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


PHP SC_Query::setWhere方法代码示例

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


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

示例1: lfGetProductsAllclass

 /**
  * 商品情報を取得する(vw_products_allclass使用)
  *
  * @param SC_Query $objQuery DB操作クラス
  * @return array $arrProduct 取得結果を配列で返す
  */
 function lfGetProductsAllclass(&$objQuery)
 {
     // --- 商品一覧の取得
     $objQuery->setWhere('del_flg = 0 AND status = 1');
     $objQuery->setOrder('product_id');
     $objProduct = new SC_Product_Ex();
     $arrProductLsit = $objProduct->lists($objQuery);
     // 各商品のカテゴリIDとランクの取得
     $arrProducts = array();
     foreach ($arrProductLsit as $key => $val) {
         $sql = '';
         $sql .= ' SELECT';
         $sql .= '   T1.category_id,';
         $sql .= '   T1.rank AS product_rank,';
         $sql .= '   T2.rank AS category_rank';
         $sql .= ' FROM';
         $sql .= '   dtb_product_categories AS T1';
         $sql .= ' LEFT JOIN';
         $sql .= '   dtb_category AS T2';
         $sql .= ' ON';
         $sql .= '   T1.category_id = T2.category_id';
         $sql .= ' WHERE';
         $sql .= '   product_id = ?';
         $arrCategory = $objQuery->getAll($sql, array($val['product_id']));
         if (!empty($arrCategory)) {
             $arrProducts[$key] = array_merge($val, $arrCategory[0]);
         }
     }
     // 税込金額を設定する
     SC_Product_Ex::setIncTaxToProducts($arrProducts);
     return $arrProducts;
 }
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:38,代码来源:LC_Page_Rss_Products.php

示例2: getListByProductIds

 /**
  * 商品IDを指定し、商品一覧を取得する
  *
  * SC_Query::setOrder() や SC_Query::setLimitOffset() を設定して, 商品一覧
  * の配列を取得する.
  * FIXME: 呼び出し元で設定した、SC_Query::setWhere() も有効に扱いたい。
  *
  * @param SC_Query $objQuery SC_Query インスタンス
  * @param array $arrProductId 商品ID
  * @return array 商品一覧の配列 (キー: 商品ID)
  */
 function getListByProductIds(&$objQuery, $arrProductId = array())
 {
     if (empty($arrProductId)) {
         return array();
     }
     $where = 'alldtl.product_id IN (' . SC_Utils_Ex::repeatStrWithSeparator('?', count($arrProductId)) . ')';
     $where .= ' AND alldtl.del_flg = 0';
     $objQuery->setWhere($where, $arrProductId);
     $arrProducts = $this->lists($objQuery);
     // 配列のキーを商品IDに
     $arrTmp = array();
     foreach ($arrProducts as $arrProduct) {
         $arrTmp[$arrProduct['product_id']] = $arrProduct;
     }
     $arrProducts =& $arrTmp;
     unset($arrTmp);
     // SC_Query::setOrder() の指定がない場合、$arrProductId で指定された商品IDの順に配列要素を並び替え
     if (strlen($objQuery->order) === 0) {
         $arrTmp = array();
         foreach ($arrProductId as $product_id) {
             $arrTmp[$product_id] = $arrProducts[$product_id];
         }
         $arrProducts =& $arrTmp;
         unset($arrTmp);
     }
     // 税込金額を設定する
     SC_Product_Ex::setIncTaxToProducts($arrProducts);
     return $arrProducts;
 }
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:40,代码来源:SC_Product.php

示例3: getProductsClassByQuery

    /**
     * SC_Query インスタンスに設定された検索条件を使用して商品規格を取得する.
     *
     * @param SC_Query $objQuery SC_Queryインスタンス
     * @param array $params 検索パラメーターの配列
     * @return array 商品規格の配列
     */
    function getProductsClassByQuery(&$objQuery, $params)
    {
        // 末端の規格を取得
        $col = <<<__EOS__
            T1.product_id,
            T1.stock,
            T1.stock_unlimited,
            T1.sale_limit,
            T1.price01,
            T1.price02,
            T1.point_rate,
            T1.product_code,
            T1.product_class_id,
            T1.del_flg,
            T1.product_type_id,
            T1.down_filename,
            T1.down_realfilename,
            T2.class_combination_id,
            T2.parent_class_combination_id,
            T2.classcategory_id,
            T2.level,
            T3.name AS classcategory_name,
            T3.rank,
            T4.name AS class_name,
            T4.class_id
__EOS__;
        $table = <<<__EOS__
                      dtb_products_class T1
            LEFT JOIN dtb_class_combination T2
                   ON T1.class_combination_id = T2.class_combination_id
            LEFT JOIN dtb_classcategory T3
                   ON T2.classcategory_id = T3.classcategory_id
            LEFT JOIN dtb_class T4
                   ON T3.class_id = T4.class_id
__EOS__;
        $objQuery->setOrder('T3.rank DESC');
        // XXX
        $arrRet = $objQuery->select($col, $table, "", $params);
        $levels = array();
        $parents = array();
        foreach ($arrRet as $rows) {
            $levels[] = $rows['level'];
            $parents[] = $rows['parent_class_combination_id'];
        }
        $level = max($levels);
        $parentsClass = array();
        // 階層分の親を取得
        for ($i = 0; $i < $level - 1; $i++) {
            $objQuery =& SC_Query_Ex::getSingletonInstance();
            $objQuery->setWhere('T1.class_combination_id IN (' . implode(', ', array_pad(array(), count($parents), '?')) . ')');
            $col = <<<__EOS__
                T1.class_combination_id,
                T1.classcategory_id,
                T1.parent_class_combination_id,
                T1.level,
                T2.name AS classcategory_name,
                T2.rank,
                T3.name AS class_name,
                T3.class_id
__EOS__;
            $table = <<<__EOS__
                          dtb_class_combination T1
                LEFT JOIN dtb_classcategory T2
                       ON T1.classcategory_id = T2.classcategory_id
                LEFT JOIN dtb_class T3
                       ON T2.class_id = T3.class_id
__EOS__;
            $objQuery->setOrder('T2.rank DESC');
            // XXX
            $arrParents = $objQuery->select($col, $table, "", $parents);
            foreach ($arrParents as $rows) {
                $parents[] = $rows['parent_class_combination_id'];
                foreach ($arrRet as $child) {
                    if ($child['parent_class_combination_id'] == $rows['class_combination_id']) {
                        $rows['product_id'] = $child['product_id'];
                    }
                }
                $tmpParents[] = $rows;
            }
            $parentsClass = array_merge($parentsClass, $tmpParents);
        }
        // 末端から枝を作成
        $tmpClass = array_merge($arrRet, $parentsClass);
        foreach ($tmpClass as $val) {
            $val['class_id' . $val['level']] = $val['class_id'];
            $val['class_name' . $val['level']] = $val['class_name'];
            $val['classcategory_name' . $val['level']] = $val['classcategory_name'];
            $val['classcategory_id' . $val['level']] = $val['classcategory_id'];
            $arrProductsClass[] = $val;
        }
        return $arrProductsClass;
    }
开发者ID:nanasess,项目名称:ec-azure,代码行数:99,代码来源:SC_Product.php


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