/** * SC_DB_MasterData::updateMasterData() のテストケース */ function testUpdateMasterData() { $columns = array('id', 'name', 'rank'); $masterData = new SC_DB_MasterData_Ex(); // Transaction を有効にするため接続しておく $masterData->objQuery = new SC_Query(); $masterData->objQuery->begin(); $expected = array('10' => "北海道", '20' => "愛知", '30' => "岐阜"); $masterData->updateMasterData('mtb_pref', $columns, $expected, false); $actual = $masterData->getDBMasterData('mtb_pref', $columns); $this->assertEquals($expected['10'], $actual['10']); $this->assertEquals($expected['20'], $actual['20']); $this->assertEquals($expected['30'], $actual['30']); $masterData->objQuery->rollback(); $masterData->clearCache('mtb_pref'); }
/** * SC_DB_MasterData::updateMasterData() のテストケース */ function testUpdateMasterData() { $columns = array("id", "name", "rank"); $masterData = new SC_DB_MasterData_Ex(); // Transaction を有効にするため接続しておく $masterData->objQuery = new SC_Query(); $masterData->objQuery->begin(); $expected = array("10" => "北海道", "20" => "愛知", "30" => "岐阜"); $masterData->updateMasterData("mtb_pref", $columns, $expected, false); $actual = $masterData->getDBMasterData("mtb_pref", $columns); $this->assertEquals($expected["10"], $actual["10"]); $this->assertEquals($expected["20"], $actual["20"]); $this->assertEquals($expected["30"], $actual["30"]); $masterData->objQuery->rollback(); $masterData->clearCache("mtb_pref"); }
/** * パラメータ情報を更新する. * * 画面の設定値で mtb_constants テーブルの値とキャッシュを更新する. * * @access private * @return void */ function update() { $data = array(); $masterData = new SC_DB_MasterData_Ex(); foreach ($this->arrKeys as $key) { $data[$key] = $_POST[$key]; } // DBのデータを更新 $masterData->updateMasterData("mtb_constants", array(), $data); // 更新したデータを取得 $mtb_constants = $masterData->getDBMasterData("mtb_constants"); // キャッシュを生成 $masterData->clearCache("mtb_constants"); $masterData->createCache("mtb_constants", $mtb_constants, true, array("id", "remarks", "rank")); }
/** * 使用するテンプレートをDBへ登録する */ function lfRegisterTemplate($template_code) { $objQuery = new SC_Query(); $sqlval['name'] = "\"" . $template_code . "\""; $objQuery->update("mtb_constants", $sqlval, "id = ?", array('TEMPLATE_NAME')); // キャッシュを生成 $masterData = new SC_DB_MasterData_Ex(); // 更新したデータを取得 $mtb_constants = $masterData->getDBMasterData("mtb_constants"); $masterData->clearCache("mtb_constants"); $masterData->createCache("mtb_constants", $mtb_constants, true, array("id", "remarks", "rank")); }
/** * パラメーターのキーを配列で返す. * * @access private * @param SC_DB_MasterData_Ex $masterData * @return array パラメーターのキーの配列 */ public function getParamKeys(&$masterData) { $keys = array(); $i = 0; foreach ($masterData->getDBMasterData('mtb_constants') as $key => $val) { $keys[$i] = $key; $i++; } return $keys; }
public function doAction($arrParam) { $this->doInitParam($arrParam); if ($this->isParamError()) { return false; } $objDb = new SC_Helper_DB_Ex(); $masterData = new SC_DB_MasterData_Ex(); // 対象データ switch ($arrParam['target']) { // カテゴリー case 'category': list($arrCatVal, $arrCatOut) = $objDb->sfGetLevelCatList(false); for ($i = 0; $i < count($arrCatVal); $i++) { $arrData[] = array('id' => $arrCatVal[$i], 'name' => $arrCatOut[$i], 'order' => $i, 'remarks1' => ''); } break; // 商品ステータス // 商品ステータス case 'status': $arrStatus = $masterData->getMasterData('mtb_status'); $i = 0; foreach ($arrStatus as $key => $val) { $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => ''); } break; // メーカー // メーカー case 'maker': $arrMaker = SC_Helper_DB_Ex::sfGetIDValueList('dtb_maker', 'maker_id', 'name'); $i = 0; foreach ($arrMaker as $key => $val) { $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => ''); } break; // 発送日目安 // 発送日目安 case 'deliv_date': $arrDelivDate = $masterData->getMasterData('mtb_delivery_date'); $i = 0; foreach ($arrDelivDate as $key => $val) { $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => ''); } break; // サイトパラメータ // サイトパラメータ case 'site_param': $arrComments = SC_Utils_Ex::getHash2Array($masterData->getDBMasterData('mtb_constants', array('id', 'remarks', 'rank'))); $i = 0; foreach ($masterData->getDBMasterData('mtb_constants') as $key => $val) { $arrData[] = array('id' => $key, 'name' => $val, 'order' => $i, 'remarks1' => $arrComments[$i++]); } break; // 規格 // 規格 case 'class': $arrClass = $this->getAllClass(); $i = 0; foreach ($arrClass as $key => $val) { $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => ''); } break; // 規格分類 // 規格分類 case 'classcategory': $arrClassCat = $this->lfGetClassCat($arrParam['class_id']); $i = 0; foreach ($arrClassCat as $key => $val) { $arrData[] = array('id' => $val['classcategory_id'], 'name' => $val['name'], 'order' => ++$i, 'remarks1' => ''); } break; // トランザクションID // トランザクションID case 'transaction': $arrData[] = array('transactionid' => SC_Helper_Session_Ex::getToken(), 'sessionid' => session_id()); break; default: break; } $this->setResponse('Item', $arrData); $this->setResponse('StatusCode', '0'); return true; }