class MysqlDBFactory extends DBFactory

MySQL 固有の処理をするクラス.

このクラスを直接インスタンス化しないこと. 必ず \Eccube\Framework\DB\DBFactory クラスを経由してインスタンス化する. また, \Eccube\Framework\DB\DBFactory クラスの関数を必ずオーバーライドしている必要がある.

Properties

$objQuery Query インスタンス

Methods

static DBFactory
getInstance(string $db_type = DB_TYPE)

DB_TYPE に応じた DBFactory インスタンスを生成する.

from DBFactory
string
getDSN(string $dsn = '')

データソース名を取得する.

from DBFactory
string
sfGetDBVersion(string $dsn = '')

DBのバージョンを取得する.

string
sfChangeMySQL(string $sql)

MySQL 用の SQL 文に変更する.

string
getOrderYesterdaySql(string $method)

昨日の売上高・売上件数を算出する SQL を返す.

string
getOrderMonthSql(string $method)

当月の売上高・売上件数を算出する SQL を返す.

string
getReviewYesterdaySql()

昨日のレビュー書き込み件数を算出する SQL を返す.

string
getSendHistoryWhereStartdateSql()

メール送信履歴の start_date の検索条件の SQL を返す.

string
getDownloadableDaysWhereSql(string $dtb_order_alias = 'dtb_order')

ダウンロード販売の検索条件の SQL を返す.

string
concatColumn(string[] $columns)

文字列連結を行う.

array
findTableNames(string $expression = '')

テーブルを検索する.

array
sfGetCreateIndexDefinition($table, $name, $definition)

インデックス作成の追加定義を取得する

void
initObjQuery(Query $objQuery)

各 DB に応じた Query での初期化を行う

array
listTables(Query $objQuery)

テーブル一覧を取得する

from DBFactory
string
addLimitOffset(string $sql, integer $limit, integer $offset)

SQL 文に OFFSET, LIMIT を付加する。

from DBFactory
string
alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

from DBFactory
array
getCharSet()

文字コード情報を取得する

string
getOrderTotalDaysWhereSql(mixed $type)

売上集計の期間別集計のSQLを返す

string
getOrderTotalAgeColSql()

売上集計の年代別集計の年代抽出部分のSQLを返す

string
sfChangeILIKE(string $sql)

ILIKE句 を LIKE句へ変換する.

string
sfChangeRANDOM(string $sql)

RANDOM() を RAND() に変換する.

string
sfChangeTrunc(string $sql)

TRUNC() を TRUNCATE() に変換する.

string
sfChangeArrayToString(string $sql)

ARRAYTOSTRING(ARRAY(A),B) を GROUP_CONCAT() に変換する.

string
getDummyFromClauseSql()

擬似表を表すSQL文(FROM 句)を取得する

Details

in DBFactory at line 47
static DBFactory getInstance(string $db_type = DB_TYPE)

DB_TYPE に応じた DBFactory インスタンスを生成する.

Parameters

string $db_type 任意のインスタンスを返したい場合は DB_TYPE 文字列を指定

Return Value

DBFactory DBFactory インスタンス

in DBFactory at line 71
string getDSN(string $dsn = '')

データソース名を取得する.

引数 $dsn が空でデータソースが定義済みの場合はDB接続パラメータの連想配列を返す DEFAULT_DSN が未定義の場合は void となる. $dsn が空ではない場合は, $dsn の値を返す.

Parameters

string $dsn データソース名

Return Value

string データソース名またはDB接続パラメータの連想配列

at line 53
string sfGetDBVersion(string $dsn = '')

DBのバージョンを取得する.

Parameters

string $dsn データソース名

Return Value

string データベースのバージョン

at line 69
string sfChangeMySQL(string $sql)

MySQL 用の SQL 文に変更する.

Parameters

string $sql SQL 文

Return Value

string MySQL 用に置換した SQL 文

at line 104
string getOrderYesterdaySql(string $method)

昨日の売上高・売上件数を算出する SQL を返す.

Parameters

string $method SUM または COUNT

Return Value

string 昨日の売上高・売上件数を算出する SQL

at line 118
string getOrderMonthSql(string $method)

当月の売上高・売上件数を算出する SQL を返す.

Parameters

string $method SUM または COUNT

Return Value

string 当月の売上高・売上件数を算出する SQL

at line 132
string getReviewYesterdaySql()

昨日のレビュー書き込み件数を算出する SQL を返す.

Return Value

string 昨日のレビュー書き込み件数を算出する SQL

at line 148
string getSendHistoryWhereStartdateSql()

メール送信履歴の start_date の検索条件の SQL を返す.

Return Value

string 検索条件の SQL

at line 159
string getDownloadableDaysWhereSql(string $dtb_order_alias = 'dtb_order')

ダウンロード販売の検索条件の SQL を返す.

Parameters

string $dtb_order_alias

Return Value

string 検索条件の SQL

at line 229
string concatColumn(string[] $columns)

文字列連結を行う.

Parameters

string[] $columns 連結を行うカラム名

Return Value

string 連結後の SQL 文

at line 254
array findTableNames(string $expression = '')

テーブルを検索する.

引数に部分一致するテーブル名を配列で返す.

Parameters

string $expression 検索文字列

Return Value

array テーブル名の配列

at line 336
array sfGetCreateIndexDefinition($table, $name, $definition)

インデックス作成の追加定義を取得する

引数に部分一致するテーブル名を配列で返す.

Parameters

$table
$name
$definition

Return Value

array インデックス設定情報配列

at line 369
void initObjQuery(Query $objQuery)

各 DB に応じた Query での初期化を行う

Parameters

Query $objQuery Query インスタンス

Return Value

void

in DBFactory at line 219
array listTables(Query $objQuery)

テーブル一覧を取得する

Parameters

Query $objQuery

Return Value

array テーブル名の配列

in DBFactory at line 234
string addLimitOffset(string $sql, integer $limit, integer $offset)

SQL 文に OFFSET, LIMIT を付加する。

Parameters

string $sql 元の SQL 文
integer $limit LIMIT
integer $offset OFFSET

Return Value

string 付加後の SQL 文

in DBFactory at line 253
string alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

Parameters

string $where_products_class 商品規格情報の WHERE 句

Return Value

string 商品詳細の SQL

at line 90
array getCharSet()

文字コード情報を取得する

Return Value

array 文字コード情報

at line 181
string getOrderTotalDaysWhereSql(mixed $type)

売上集計の期間別集計のSQLを返す

Parameters

mixed $type

Return Value

string 検索条件のSQL

at line 218
string getOrderTotalAgeColSql()

売上集計の年代別集計の年代抽出部分のSQLを返す

Return Value

string 年代抽出部分の SQL

at line 271
string sfChangeILIKE(string $sql)

ILIKE句 を LIKE句へ変換する.

Parameters

string $sql SQL文

Return Value

string 変換後の SQL 文

at line 285
string sfChangeRANDOM(string $sql)

RANDOM() を RAND() に変換する.

Parameters

string $sql SQL文

Return Value

string 変換後の SQL 文

at line 299
string sfChangeTrunc(string $sql)

TRUNC() を TRUNCATE() に変換する.

Parameters

string $sql SQL文

Return Value

string 変換後の SQL 文

at line 313
string sfChangeArrayToString(string $sql)

ARRAYTOSTRING(ARRAY(A),B) を GROUP_CONCAT() に変換する.

Parameters

string $sql SQL文

Return Value

string 変換後の SQL 文

at line 358
string getDummyFromClauseSql()

擬似表を表すSQL文(FROM 句)を取得する

Return Value

string