Skip to content

Commit 0e864b2

Browse files
committed
Set default fetch style
1 parent 6f177eb commit 0e864b2

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

src/FakePdoStatementTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ trait FakePdoStatementTrait
2626
/**
2727
* @var int
2828
*/
29-
private $fetchMode = \PDO::ATTR_DEFAULT_FETCH_MODE;
29+
private $fetchMode = \PDO::FETCH_BOTH;
3030

3131
private $fetchArgument;
3232

src/FakePdoTrait.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ trait FakePdoTrait
2828
*/
2929
public $lowercaseResultKeys = false;
3030

31+
/** @var ?int */
32+
private $default_fetch_mode = null;
33+
3134
/**
3235
* @var bool
3336
*/
@@ -70,6 +73,10 @@ public function setAttribute($key, $value)
7073
$this->lowercaseResultKeys = true;
7174
}
7275

76+
if ($key === \PDO::ATTR_DEFAULT_FETCH_MODE && is_int($value)) {
77+
$this->default_fetch_mode = $value;
78+
}
79+
7380
if ($this->real && $key !== \PDO::ATTR_STATEMENT_CLASS) {
7481
return $this->real->setAttribute($key, $value);
7582
}

src/Php7/FakePdo.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ class FakePdo extends PDO implements FakePdoInterface
1616
*/
1717
public function prepare($statement, $options = [])
1818
{
19-
return new FakePdoStatement($this, $statement, $this->real);
19+
$stmt = new FakePdoStatement($this, $statement, $this->real);
20+
if ($this->default_fetch_mode) {
21+
$stmt->setFetchMode($this->default_fetch_mode);
22+
}
23+
return $stmt;
2024
}
2125

2226
/**

0 commit comments

Comments
 (0)