‪TYPO3CMS  11.5
Connection.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Doctrine\DBAL\Driver\Result;
21 use PDO;
22 
27 class ‪Connection extends \Doctrine\DBAL\Driver\PDO\Connection
28 {
34  public function ‪__construct($dsn, $user = null, $password = null, ?array $options = null)
35  {
36  parent::__construct($dsn, $user, $password, $options);
37  $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]);
38  }
39 
43  public function ‪lastInsertId($name = null)
44  {
45  if ($name === null) {
46  return parent::lastInsertId($name);
47  }
48 
49  $stmt = $this->prepare('SELECT CONVERT(VARCHAR(MAX), current_value) FROM sys.sequences WHERE name = ?');
50  $stmt->execute([$name]);
51 
52  if ($stmt instanceof Result) {
53  return $stmt->fetchOne();
54  }
55 
56  return $stmt->fetchColumn();
57  }
58 }
‪TYPO3\CMS\Core\Database\Driver\PDOSqlsrv\Connection
Definition: Connection.php:28
‪TYPO3\CMS\Core\Database\Driver\PDOSqlsrv\Connection\__construct
‪__construct($dsn, $user=null, $password=null, ?array $options=null)
Definition: Connection.php:34
‪TYPO3\CMS\Core\Database\Driver\PDOSqlsrv\Connection\lastInsertId
‪lastInsertId($name=null)
Definition: Connection.php:43
‪TYPO3\CMS\Core\Database\Driver\PDOSqlsrv
Definition: Connection.php:18