クラス yii\db\mssql\PDO
| 継承 | yii\db\mssql\PDO » PDO |
|---|---|
| 利用可能なバージョン | 2.0 |
| ソースコード | https://github.com/yiisoft/yii2/blob/master/framework/db/mssql/PDO.php |
これは、MSSQLおよびDBLIBドライバーのデフォルトのPDOクラスの拡張です。
これは、MSSQLおよびDBLIBドライバーの不適切に実装された機能に対する回避策を提供します。
パブリックメソッド
| メソッド | 説明 | 定義元 |
|---|---|---|
| beginTransaction() | トランザクションを開始します。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 | yii\db\mssql\PDO |
| commit() | トランザクションをコミットします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 | yii\db\mssql\PDO |
| getAttribute() | データベース接続属性を取得します。 | yii\db\mssql\PDO |
| lastInsertId() | 最後に挿入されたIDの値を返します。 | yii\db\mssql\PDO |
| rollBack() | トランザクションをロールバックします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 | yii\db\mssql\PDO |
メソッド詳細
トランザクションを開始します。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。
| public boolean beginTransaction ( ) | ||
| 戻り値 | boolean |
トランザクション開始の結果。 |
|---|---|---|
#[\ReturnTypeWillChange]
public function beginTransaction()
{
$this->exec('BEGIN TRANSACTION');
return true;
}
トランザクションをコミットします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。
| public boolean commit ( ) | ||
| 戻り値 | boolean |
トランザクションコミットの結果。 |
|---|---|---|
#[\ReturnTypeWillChange]
public function commit()
{
$this->exec('COMMIT TRANSACTION');
return true;
}
データベース接続属性を取得します。
一部のMSSQL PDOドライバー(例:dblib)は属性の取得をサポートしていないため、PDOのメソッドをオーバーライドする必要があります。
| public mixed getAttribute ( $attribute ) | ||
| $attribute | integer |
PDO::ATTR_*定数のいずれか。 |
| 戻り値 | mixed |
呼び出しが成功すると、要求されたPDO属性の値が返されます。呼び出しが失敗すると、nullが返されます。 |
|---|---|---|
#[\ReturnTypeWillChange]
public function getAttribute($attribute)
{
try {
return parent::getAttribute($attribute);
} catch (\PDOException $e) {
switch ($attribute) {
case self::ATTR_SERVER_VERSION:
return $this->query("SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR)")->fetchColumn();
default:
throw $e;
}
}
}
最後に挿入されたIDの値を返します。
| public integer lastInsertId ( $sequence = null ) | ||
| $sequence | string|null |
シーケンス名。デフォルトはnullです。 |
| 戻り値 | integer |
最後に挿入されたIDの値。 |
|---|---|---|
#[\ReturnTypeWillChange]
public function lastInsertId($sequence = null)
{
return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->fetchColumn();
}
サインアップまたはログインしてコメントしてください。