Class yii\db\mssql\DBLibPDO

Inheritanceyii\db\mssql\DBLibPDO » PDO
Available since version2.0.41
Source Code https://github.com/yiisoft/yii2/blob/master/framework/db/mssql/DBLibPDO.php

This is an extension of the default PDO class of DBLIB drivers.

It provides workarounds for improperly implemented functionalities of the DBLIB drivers.

Public Methods

Hide inherited methods

Method Description Defined By
getAttribute() Retrieve a database connection attribute. yii\db\mssql\DBLibPDO
lastInsertId() Returns value of the last inserted ID. yii\db\mssql\DBLibPDO

Method Details

Hide inherited methods

getAttribute() public method

Retrieve a database connection attribute.

It is necessary to override PDO's method as some MSSQL PDO driver (e.g. dblib) does not support getting attributes.

public mixed getAttribute ( $attribute )
$attribute integer

One of the PDO::ATTR_* constants.

return mixed

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns 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;
        }
    }
}

            
lastInsertId() public method

Returns value of the last inserted ID.

public integer lastInsertId ( $name null )
$name string|null

The sequence name. Defaults to null.

return integer

Last inserted ID value.

                #[\ReturnTypeWillChange]
public function lastInsertId($name = null)
{
    return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->fetchColumn();
}