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


PHP Utils::sfArrayIntersectKeys方法代码示例

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


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

示例1: lfRegistProductClass

 /**
  * 商品規格登録を行う.
  *
  * FIXME: 商品規格登録の実処理自体は、LC_Page_Admin_Products_Productと共通化して欲しい。
  *
  * @param  Query $objQuery         Queryインスタンス
  * @param  array    $arrList          商品規格情報配列
  * @param  integer  $product_id       商品ID
  * @param  integer  $product_class_id 商品規格ID
  * @return void
  */
 public function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id)
 {
     /* @var $objProduct Product */
     $objProduct = Application::alias('eccube.product');
     // FIXME: dtb_csvテーブルの中で古いカラム名(右辺)が設定されている。sfArrayIntersectKeysでフィルタされてしまうので、名称を変更する必要がある
     if (array_key_exists('classcategory_id', $arrList) && $arrList['classcategory_id'] != '') {
         $arrList['classcategory_id1'] = $arrList['classcategory_id'];
     }
     if (array_key_exists('parent_classcategory_id', $arrList) && $arrList['classcategory_id'] != '') {
         $arrList['classcategory_id2'] = $arrList['parent_classcategory_id'];
     }
     // 商品規格登録情報を生成する。
     // 商品規格テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。
     $sqlval = Utils::sfArrayIntersectKeys($arrList, $this->arrProductClassColumn);
     if ($product_class_id == '') {
         // 新規登録
         // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定
         $sqlval = $this->lfSetProductClassDefaultData($sqlval);
         $sqlval['product_id'] = $product_id;
         $sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
         $sqlval['create_date'] = $arrList['update_date'];
         // INSERTの実行
         $objQuery->insert('dtb_products_class', $sqlval);
         $product_class_id = $sqlval['product_class_id'];
     } else {
         // UPDATEの実行
         // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定
         $sqlval = $this->lfSetProductClassDefaultData($sqlval, true);
         $where = 'product_class_id = ?';
         $objQuery->update('dtb_products_class', $sqlval, $where, array($product_class_id));
     }
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:43,代码来源:UploadCSV.php

示例2: lfRegisterCategory

 /**
  * カテゴリ登録を行う.
  *
  * FIXME: 登録の実処理自体は、LC_Page_Admin_Products_Categoryと共通化して欲しい。
  *
  * @param  integer $line 処理中の行数
  * @param FormParam $objFormParam
  * @return integer        カテゴリID
  */
 public function lfRegisterCategory($line, FormParam &$objFormParam)
 {
     // 登録データ対象取得
     $arrList = $objFormParam->getDbArray();
     // 登録情報を生成する。
     // テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。
     $sqlval = Utils::sfArrayIntersectKeys($arrList, $this->arrRegistColumn);
     // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定
     $sqlval = $this->lfSetCategoryDefaultData($sqlval);
     /* @var $objCategory CategoryHelper */
     $objCategory = Application::alias('eccube.helper.category');
     $category_id = $objCategory->save($sqlval);
     return $category_id;
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:23,代码来源:UploadCSVCategory.php

示例3: lfInsertDummyProductClass

 /**
  * 規格を設定していない商品を商品規格テーブルに登録
  *
  * @param  array $arrList
  * @return void
  */
 public function lfInsertDummyProductClass($arrList)
 {
     $objQuery = Application::alias('eccube.query');
     /* @var $objDb DbHelper */
     $objDb = Application::alias('eccube.helper.db');
     // 配列の添字を定義
     $checkArray = array('product_class_id', 'product_id', 'product_code', 'stock', 'stock_unlimited', 'price01', 'price02', 'sale_limit', 'deliv_fee', 'point_rate', 'product_type_id', 'down_filename', 'down_realfilename');
     $sqlval = Utils::sfArrayIntersectKeys($arrList, $checkArray);
     $sqlval = Utils::arrayDefineIndexes($sqlval, $checkArray);
     $sqlval['stock_unlimited'] = $sqlval['stock_unlimited'] ? UNLIMITED_FLG_UNLIMITED : UNLIMITED_FLG_LIMITED;
     $sqlval['creator_id'] = strlen($_SESSION['member_id']) >= 1 ? $_SESSION['member_id'] : '0';
     if (strlen($sqlval['product_class_id']) == 0) {
         $sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
         $sqlval['create_date'] = 'CURRENT_TIMESTAMP';
         $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
         // INSERTの実行
         $objQuery->insert('dtb_products_class', $sqlval);
     } else {
         $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
         // UPDATEの実行
         $objQuery->update('dtb_products_class', $sqlval, 'product_class_id = ?', array($sqlval['product_class_id']));
     }
     return $sqlval['product_class_id'];
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:30,代码来源:ProductEdit.php

示例4: extractShipping

 /**
  * 配送情報のみ抜き出す。
  *
  * @param  string $arrSrc 元となる配列
  * @return void
  */
 public function extractShipping($arrSrc)
 {
     $arrKey = array();
     foreach ($this->arrShippingKey as $key) {
         $arrKey[] = 'shipping_' . $key;
     }
     return Utils::sfArrayIntersectKeys($arrSrc, $arrKey);
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:14,代码来源:PurchaseHelper.php


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