class DbHelper

DB関連のヘルパークラス.

Properties

$g_root_on ルートカテゴリ取得フラグ
$g_root_id ルートカテゴリID
$g_category_on 選択中カテゴリ取得フラグ
$g_category_id 選択中カテゴリID

Methods

bool
columnExists($tableName, $colName, $colType = '', $dsn = '', $add = false)

カラムの存在チェックと作成を行う.

columnAdd($tableName, $colName, $colType)

No description

bool
dataExists(string $tableName, string $where, array $arrWhereVal)

データの存在チェックを行う.

array
getBasisData(boolean $force = false)

店舗基本情報を取得する.

array
getBasisDataCache(boolean $generate = false)

基本情報のキャッシュデータを取得する

bool
createBasisDataCache()

基本情報のキャッシュデータファイルを生成する データはgetBasisDataより取得。

int
getBasisCount() deprecated

基本情報の登録数を取得する

boolean
getBasisExists()

基本情報の登録有無を取得する

getRootId()

No description

array
getRollbackPoint(integer $order_id, integer $use_point, integer $add_point, integer $order_status)

受注番号、最終ポイント、加算ポイント、利用ポイントから「オーダー前ポイント」を取得する

array
getCatTree(integer $parent_category_id, bool $count_check = false)

カテゴリツリーの取得を行う.

findTree(array $arrTree, integer $parent, array $result)

カテゴリツリーを走査し, パンくずリスト用の配列を生成する.

string
getCatCombName(integer $category_id)

親カテゴリを連結した文字列を取得する.

array
getFirstCat(integer $category_id)

指定したカテゴリIDの大カテゴリを取得する.

array
getCategoryList(string $addwhere = '', bool $products_check = false, string $head = CATEGORY_HEAD)

カテゴリツリーの取得を行う.

array
getLevelCatList(bool $parent_zero = true)

カテゴリツリーの取得を行う.

array
getCategoryId(int $product_id, int $category_id, bool $closed = false)

選択中の商品のカテゴリを取得する.

void
addProductBeforCategories(integer $category_id, integer $product_id)

商品をカテゴリの先頭に追加する.

void
addProductAfterCategories(integer $category_id, integer $product_id)

商品をカテゴリの末尾に追加する.

void
removeProductByCategories(integer $category_id, integer $product_id)

商品をカテゴリから削除する.

void
updateProductCategories(array $arrCategory_id, integer $product_id)

商品カテゴリを更新する.

void
countCategory(Query $objQuery = null, boolean $is_force_all_count = false)

カテゴリ数の登録を行う.

getChildsID($table, $pid_name, $id_name, $id)

子IDの配列を返す.

array
getChildrenArray(string $table, string $pid_name, string $id_name, integer $id)

階層構造のテーブルから子ID配列を取得する.

array
getChildrenArraySub($table, $pid_name, $id_name, $arrPID)

親ID直下の子IDを全て取得する.

array
getParents(string $table, string $pid_name, string $id_name, integer $id)

所属する全ての階層の親IDを配列で返す.

array
getParentsArray(string $table, string $pid_name, string $id_name, integer $id)

階層構造のテーブルから親ID配列を取得する.

getParentsArraySub($table, $pid_name, $id_name, $child)

No description

array
getCatWhere(integer $category_id)

カテゴリから商品を検索する場合のWHERE文と値を返す.

array
getIDValueList(string $table, string $keyname, string $valname, string $where = '', array $arrVal = array())

SELECTボックス用リストを作成する.

void
rankUp(string $table, string $colname, integer $id, string $andwhere = '')

ランキングを上げる.

void
rankDown(string $table, string $colname, integer $id, string $andwhere = '')

ランキングを下げる.

void
moveRank(string $tableName, string $keyIdColumn, integer $keyId, integer $pos, string $where = '')

指定順位へ移動する.

int
getNewRank(int $position, int $maxRank)

指定された位置の値をDB用のRANK値に変換する 指定位置が1番目に移動なら、newRankは最大値 指定位置が1番下へ移動なら、newRankは1

boolean
moveOtherItemRank(int $newRank, int $oldRank, Query $objQuery, string $tableName, string $addWhere)

指定した順位の商品から移動させる商品までのrankを1つずらす

void
deleteRankRecord(string $table, string $colname, integer $id, string $andwhere = '', bool $delete = false)

ランクを含むレコードを削除する.

array
getParentsCol(Query $objQuery, string $table, string $id_name, string $col_name, array $arrId)

親IDの配列を元に特定のカラムを取得する.

void
moveCatRank(Query $objQuery, string $table, string $id_name, string $cat_name, integer $old_catid, integer $new_catid, integer $id)

カテゴリ変更時の移動処理を行う.

bool
isRecord(string $table, string $col, array $arrVal, string $addwhere = '')

レコードの存在チェックを行う.

void
countMaker(Query $objQuery)

メーカー商品数数の登録を行う.

array
getMakerId($product_id, $maker_id, $closed = false)

選択中の商品のメーカーを取得する.

array
getMakerList(string $addwhere = '', bool $products_check = false)

メーカーの取得を行う.

double
tax(integer $price)

店舗基本情報に基づいて税金額を返す

double
calcIncTax(int $price, int $tax = null, int $tax_rule = null)

店舗基本情報に基づいて税金付与した金額を返す Utils::sfCalcIncTax とどちらか統一したほうが良い

integer
getAddPoint(integer $totalpoint, integer $use_point)

店舗基本情報に基づいて加算ポイントを返す

void
execSqlByFile(string $sqlFilePath)

指定ファイルが存在する場合 SQL として実行

bool
hasProductClass(integer $product_id)

商品規格を設定しているか

void
registerBasisData(array $arrData)

店舗基本情報を登録する

integer
countRecords(string $table, string $where = '', array $arrval = array())

レコード件数を計算.

Details

at line 71
bool columnExists($tableName, $colName, $colType = '', $dsn = '', $add = false)

カラムの存在チェックと作成を行う.

チェック対象のテーブルに, 該当のカラムが存在するかチェックする. 引数 $add が true の場合, 該当のカラムが存在しない場合は, カラムの生成を行う. カラムの生成も行う場合は, $col_type も必須となる.

Parameters

$tableName
$colName
$colType
$dsn
$add

Return Value

bool カラムが存在する場合とカラムの生成に成功した場合 true, テーブルが存在しない場合 false, 引数 $add == false でカラムが存在しない場合 false

at line 105
columnAdd($tableName, $colName, $colType)

Parameters

$tableName
$colName
$colType

at line 122
bool dataExists(string $tableName, string $where, array $arrWhereVal)

データの存在チェックを行う.

Parameters

string $tableName テーブル名
string $where データを検索する WHERE 句
array $arrWhereVal WHERE句のプレースホルダ値

Return Value

bool データが存在する場合 true, データの追加に成功した場合 true, $add == false で, データが存在しない場合 false

at line 140
array getBasisData(boolean $force = false)

店舗基本情報を取得する.

引数 $force が false の場合は, 初回のみ DB 接続し, 2回目以降はキャッシュされた結果を使用する.

Parameters

boolean $force 強制的にDB取得するか

Return Value

array 店舗基本情報の配列

at line 160
array getBasisDataCache(boolean $generate = false)

基本情報のキャッシュデータを取得する

Parameters

boolean $generate キャッシュファイルが無い時、DBのデータを基にキャッシュを生成するか

Return Value

array 店舗基本情報の配列

at line 193
bool createBasisDataCache()

基本情報のキャッシュデータファイルを生成する データはgetBasisDataより取得。

このメソッドが直接呼ばれるのは、 「基本情報管理>SHOPマスター」の更新完了後。 getBasisDataCacheでは、 キャッシュデータファイルが無い場合に呼ばれます。

Return Value

bool キャッシュデータファイル生成結果

at line 227
int getBasisCount() deprecated

deprecated

基本情報の登録数を取得する

Return Value

int

at line 240
boolean getBasisExists()

基本情報の登録有無を取得する

Return Value

boolean 有無

at line 249
getRootId()

at line 286
array getRollbackPoint(integer $order_id, integer $use_point, integer $add_point, integer $order_status)

受注番号、最終ポイント、加算ポイント、利用ポイントから「オーダー前ポイント」を取得する

Parameters

integer $order_id 受注番号
integer $use_point 利用ポイント
integer $add_point 加算ポイント
integer $order_status 対応状況

Return Value

array オーダー前ポイントの配列

at line 321
array getCatTree(integer $parent_category_id, bool $count_check = false)

カテゴリツリーの取得を行う.

Parameters

integer $parent_category_id 親カテゴリID
bool $count_check 登録商品数のチェックを行う場合 true

Return Value

array カテゴリツリーの配列

at line 369
findTree(array $arrTree, integer $parent, array $result)

カテゴリツリーを走査し, パンくずリスト用の配列を生成する.

Parameters

array $arrTree カテゴリの配列
integer $parent 上位カテゴリID
array $result パンくずリスト用の配列

See also

sfGetCatTree()

at line 393
string getCatCombName(integer $category_id)

親カテゴリを連結した文字列を取得する.

Parameters

integer $category_id カテゴリID

Return Value

string 親カテゴリを連結した文字列

at line 420
array getFirstCat(integer $category_id)

指定したカテゴリIDの大カテゴリを取得する.

Parameters

integer $category_id カテゴリID

Return Value

array 指定したカテゴリIDの大カテゴリ

at line 447
array getCategoryList(string $addwhere = '', bool $products_check = false, string $head = CATEGORY_HEAD)

カテゴリツリーの取得を行う.

$products_check:true商品登録済みのものだけ取得する

Parameters

string $addwhere 追加する WHERE 句
bool $products_check 商品の存在するカテゴリのみ取得する場合 true
string $head カテゴリ名のプレフィックス文字列

Return Value

array カテゴリツリーの配列

at line 489
array getLevelCatList(bool $parent_zero = true)

カテゴリツリーの取得を行う.

親カテゴリの Value=0 を対象とする

Parameters

bool $parent_zero 親カテゴリの Value=0 の場合 true

Return Value

array カテゴリツリーの配列

at line 541
array getCategoryId(int $product_id, int $category_id, bool $closed = false)

選択中の商品のカテゴリを取得する.

Parameters

int $product_id プロダクトID
int $category_id カテゴリID
bool $closed 非表示の商品を含む場合はtrue

Return Value

array 選択中の商品のカテゴリIDの配列

at line 565
void addProductBeforCategories(integer $category_id, integer $product_id)

商品をカテゴリの先頭に追加する.

Parameters

integer $category_id カテゴリID
integer $product_id プロダクトID

Return Value

void

at line 588
void addProductAfterCategories(integer $category_id, integer $product_id)

商品をカテゴリの末尾に追加する.

Parameters

integer $category_id カテゴリID
integer $product_id プロダクトID

Return Value

void

at line 622
void removeProductByCategories(integer $category_id, integer $product_id)

商品をカテゴリから削除する.

Parameters

integer $category_id カテゴリID
integer $product_id プロダクトID

Return Value

void

at line 637
void updateProductCategories(array $arrCategory_id, integer $product_id)

商品カテゴリを更新する.

Parameters

array $arrCategory_id 登録するカテゴリIDの配列
integer $product_id プロダクトID

Return Value

void

at line 671
void countCategory(Query $objQuery = null, boolean $is_force_all_count = false)

カテゴリ数の登録を行う.

Parameters

Query $objQuery Query インスタンス
boolean $is_force_all_count 全カテゴリの集計を強制する場合 true

Return Value

void

at line 852
getChildsID($table, $pid_name, $id_name, $id)

子IDの配列を返す.

Parameters

$table
$pid_name
$id_name
$id

at line 868
array getChildrenArray(string $table, string $pid_name, string $id_name, integer $id)

階層構造のテーブルから子ID配列を取得する.

Parameters

string $table テーブル名
string $pid_name 親ID名
string $id_name ID名
integer $id ID番号

Return Value

array 子IDの配列

at line 890
array getChildrenArraySub($table, $pid_name, $id_name, $arrPID)

親ID直下の子IDを全て取得する.

Parameters

$table
$pid_name
$id_name
$arrPID

Return Value

array 子IDの配列

at line 911
array getParents(string $table, string $pid_name, string $id_name, integer $id)

所属する全ての階層の親IDを配列で返す.

Parameters

string $table テーブル名
string $pid_name 親ID名
string $id_name ID名
integer $id ID

Return Value

array 親IDの配列

at line 927
array getParentsArray(string $table, string $pid_name, string $id_name, integer $id)

階層構造のテーブルから親ID配列を取得する.

Parameters

string $table テーブル名
string $pid_name 親ID名
string $id_name ID名
integer $id ID

Return Value

array 親IDの配列

at line 957
getParentsArraySub($table, $pid_name, $id_name, $child)

Parameters

$table
$pid_name
$id_name
$child

at line 978
array getCatWhere(integer $category_id)

カテゴリから商品を検索する場合のWHERE文と値を返す.

Parameters

integer $category_id カテゴリID

Return Value

array 商品を検索する場合の配列

at line 998
array getIDValueList(string $table, string $keyname, string $valname, string $where = '', array $arrVal = array())

SELECTボックス用リストを作成する.

Parameters

string $table テーブル名
string $keyname プライマリーキーのカラム名
string $valname データ内容のカラム名
string $where WHERE句
array $arrVal プレースホルダ

Return Value

array SELECT ボックス用リストの配列

at line 1026
void rankUp(string $table, string $colname, integer $id, string $andwhere = '')

ランキングを上げる.

Parameters

string $table テーブル名
string $colname カラム名
integer $id テーブルのキー
string $andwhere SQL の AND 条件である WHERE 句

Return Value

void

at line 1079
void rankDown(string $table, string $colname, integer $id, string $andwhere = '')

ランキングを下げる.

Parameters

string $table テーブル名
string $colname カラム名
integer $id テーブルのキー
string $andwhere SQL の AND 条件である WHERE 句

Return Value

void

at line 1132
void moveRank(string $tableName, string $keyIdColumn, integer $keyId, integer $pos, string $where = '')

指定順位へ移動する.

Parameters

string $tableName テーブル名
string $keyIdColumn キーを保持するカラム名
integer $keyId キーの値
integer $pos 指定順位
string $where SQL の AND 条件である WHERE 句

Return Value

void

at line 1180
int getNewRank(int $position, int $maxRank)

指定された位置の値をDB用のRANK値に変換する 指定位置が1番目に移動なら、newRankは最大値 指定位置が1番下へ移動なら、newRankは1

Parameters

int $position 指定された位置
int $maxRank 現在のランク最大値

Return Value

int $newRank DBに登録するRANK値

at line 1203
boolean moveOtherItemRank(int $newRank, int $oldRank, Query $objQuery, string $tableName, string $addWhere)

指定した順位の商品から移動させる商品までのrankを1つずらす

Parameters

int $newRank
int $oldRank
Query $objQuery
string $tableName
string $addWhere

Return Value

boolean

at line 1240
void deleteRankRecord(string $table, string $colname, integer $id, string $andwhere = '', bool $delete = false)

ランクを含むレコードを削除する.

レコードごと削除する場合は、$deleteをtrueにする

Parameters

string $table テーブル名
string $colname カラム名
integer $id テーブルのキー
string $andwhere SQL の AND 条件である WHERE 句
bool $delete レコードごと削除する場合 true, レコードごと削除しない場合 false

Return Value

void

at line 1290
array getParentsCol(Query $objQuery, string $table, string $id_name, string $col_name, array $arrId)

親IDの配列を元に特定のカラムを取得する.

Parameters

Query $objQuery Query インスタンス
string $table テーブル名
string $id_name ID名
string $col_name カラム名
array $arrId IDの配列

Return Value

array 特定のカラムの配列

at line 1324
void moveCatRank(Query $objQuery, string $table, string $id_name, string $cat_name, integer $old_catid, integer $new_catid, integer $id)

カテゴリ変更時の移動処理を行う.

※この関数って、どこからも呼ばれていないのでは??

Parameters

Query $objQuery Query インスタンス
string $table テーブル名
string $id_name ID名
string $cat_name カテゴリ名
integer $old_catid 旧カテゴリID
integer $new_catid 新カテゴリID
integer $id ID

Return Value

void

at line 1364
bool isRecord(string $table, string $col, array $arrVal, string $addwhere = '')

レコードの存在チェックを行う.

TODO Query に移行するべきか?

Parameters

string $table テーブル名
string $col カラム名
array $arrVal 要素の配列
string $addwhere SQL の AND 条件である WHERE 句

Return Value

bool レコードが存在する場合 true

at line 1400
void countMaker(Query $objQuery)

メーカー商品数数の登録を行う.

Parameters

Query $objQuery Query インスタンス

Return Value

void

at line 1423
array getMakerId($product_id, $maker_id, $closed = false)

選択中の商品のメーカーを取得する.

Parameters

$product_id
$maker_id
$closed

Return Value

array 選択中の商品のメーカーIDの配列

at line 1459
array getMakerList(string $addwhere = '', bool $products_check = false)

メーカーの取得を行う.

$products_check:true商品登録済みのものだけ取得する

Parameters

string $addwhere 追加する WHERE 句
bool $products_check 商品の存在するカテゴリのみ取得する場合 true

Return Value

array カテゴリツリーの配列

at line 1499
double tax(integer $price)

店舗基本情報に基づいて税金額を返す

Parameters

integer $price 計算対象の金額

Return Value

double 税金額

at line 1516
double calcIncTax(int $price, int $tax = null, int $tax_rule = null)

店舗基本情報に基づいて税金付与した金額を返す Utils::sfCalcIncTax とどちらか統一したほうが良い

Parameters

int $price 計算対象の金額
int $tax
int $tax_rule

Return Value

double 税金付与した金額

at line 1533
integer getAddPoint(integer $totalpoint, integer $use_point)

店舗基本情報に基づいて加算ポイントを返す

Parameters

integer $totalpoint
integer $use_point

Return Value

integer 加算ポイント

at line 1549
void execSqlByFile(string $sqlFilePath)

指定ファイルが存在する場合 SQL として実行

XXX プラグイン用に追加。将来消すかも。

Parameters

string $sqlFilePath SQL ファイルのパス

Return Value

void

at line 1572
bool hasProductClass(integer $product_id)

商品規格を設定しているか

Parameters

integer $product_id 商品ID

Return Value

bool 商品規格が存在する場合:true, それ以外:false

at line 1590
void registerBasisData(array $arrData)

店舗基本情報を登録する

Parameters

array $arrData 登録するデータ

Return Value

void

at line 1624
integer countRecords(string $table, string $where = '', array $arrval = array())

レコード件数を計算.

Parameters

string $table
string $where
array $arrval

Return Value

integer レコード件数