Changeset 21372


Ignore:
Timestamp:
2011/12/24 14:06:56 (10 years ago)
Author:
Seasoft
Message:

#1576 (データ生成スクリプトが動作しない)

Location:
branches/version-2_11-dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/SC_Query.php

    r21371 r21372  
    455455     * @param string $table テーブル名 
    456456     * @param array $sqlval array('カラム名' => '値',...)の連想配列 
     457     * @param array $arrSql array('カラム名' => 'SQL文',...)の連想配列 
     458     * @param array $arrSqlVal SQL文の中で使用するプレースホルダ配列 
    457459     * @return 
    458460     */ 
    459     function insert($table, $sqlval) { 
     461    function insert($table, $sqlval, $arrSql = array(), $arrSqlVal = array()) { 
    460462        $strcol = ''; 
    461463        $strval = ''; 
    462464        $find = false; 
     465        $arrVal = array(); 
    463466 
    464467        if(count($sqlval) <= 0 ) return false; 
     
    471474            } else { 
    472475                $strval .= '?,'; 
    473                 $arrval[] = $val; 
     476                $arrVal[] = $val; 
    474477            } 
    475478            $find = true; 
    476479        } 
     480 
     481        foreach($arrSql as $key => $val) { 
     482            $strcol .= $key . ','; 
     483            $strval .= $val . ','; 
     484        } 
     485 
     486        $arrVal = array_merge($arrVal, $arrSqlVal); 
     487 
    477488        if(!$find) { 
    478489            return false; 
     
    483494        $sqlin = "INSERT INTO $table(" . $strcol. ") VALUES (" . $strval . ")"; 
    484495        // INSERT文の実行 
    485         $ret = $this->query($sqlin, $arrval, false, null, MDB2_PREPARE_MANIP); 
     496        $ret = $this->query($sqlin, $arrVal, false, null, MDB2_PREPARE_MANIP); 
    486497 
    487498        return $ret; 
  • branches/version-2_11-dev/test/createEcCubeData-v25.php

    r21317 r21372  
    274274        $sqlval['class_id'] = $this->objQuery->nextVal("dtb_class_class_id"); 
    275275        $sqlval['name'] = $class_name; 
    276         $sqlval['rank'] = "~(SELECT x.rank FROM (SELECT CASE 
     276        $arrRaw['rank'] = "(SELECT x.rank FROM (SELECT CASE 
    277277                                      WHEN max(rank) + 1 IS NULL THEN 1 
    278278                                      ELSE max(rank) + 1 
    279279                                    END as rank 
    280280                               FROM dtb_class 
    281                               WHERE del_flg = 0) as x),"; 
     281                              WHERE del_flg = 0) as x)"; 
    282282        $sqlval['creator_id'] = 2; 
    283283        $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 
    284284        $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
    285285        $sqlval['del_flg'] = (string) "0"; 
    286         $this->objQuery->insert("dtb_class", $sqlval); 
     286        $this->objQuery->insert("dtb_class", $sqlval, $arrRaw); 
    287287 
    288288        $this->arrclass_id[] = $sqlval['class_id']; 
     
    300300        $sqlval['name'] = $classcategory_name; 
    301301        $sqlval['class_id'] = $class_id; 
    302         $sqlval['rank'] = sprintf("~(SELECT x.rank FROM (SELECT CASE 
     302        $arrRaw['rank'] = sprintf("~(SELECT x.rank FROM (SELECT CASE 
    303303                                              WHEN max(rank) + 1 IS NULL THEN 1 
    304304                                              ELSE max(rank) + 1 
     
    306306                                       FROM dtb_classcategory 
    307307                                      WHERE del_flg = 0 
    308                                         AND class_id = %d) as x),", $class_id); 
     308                                        AND class_id = %d) as x)", $class_id); 
    309309        $sqlval['creator_id'] = 2; 
    310310        $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 
     
    312312        $sqlval['del_flg'] = (string) "0"; 
    313313 
    314         $this->objQuery->insert("dtb_classcategory", $sqlval); 
     314        $this->objQuery->insert("dtb_classcategory", $sqlval, $arrRaw); 
    315315 
    316316        switch ($class_name) { 
Note: See TracChangeset for help on using the changeset viewer.