Page MenuHomeDevCentral

Fetch a scalar value from a result
ClosedPublic

Authored by dereckson on Nov 1 2025, 12:05.
Tags
None
Referenced Files
F22287907: D3838.diff
Tue, Jan 27, 17:31
Unknown Object (File)
Mon, Jan 26, 15:31
Unknown Object (File)
Sat, Jan 24, 00:19
Unknown Object (File)
Fri, Jan 23, 00:44
Unknown Object (File)
Thu, Jan 22, 10:37
Unknown Object (File)
Wed, Jan 21, 05:08
Unknown Object (File)
Mon, Jan 19, 18:37
Unknown Object (File)
Sun, Jan 18, 07:52
Subscribers
None

Details

Summary

While queryScalar is useful for fetching scalar values in queries like
SELECT count(*), it cannot be used with prepared statements in PDO.

DatabaseResult::fetchScalar returns the first item of the next row.

The following fluent pattern is now supported:

$sql = "SELECT count(*) FROM foo WHERE id = :id";

return $this->db
    ->prepare($sql)
    ->with("id", $this->id)
    ->query()
    ->fetchScalar();

fetchScalar is implemented at DatabaseResult level, making it available
with all drivers, not just PDO.

Ref T2169

Test Plan
  • New unit test for current Result tests classes
  • Tested with D3835 on Obsidian codebase

Diff Detail

Repository
rKERUALD Keruald libraries development repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dereckson created this revision.
dereckson edited the test plan for this revision. (Show Details)
dereckson added a child revision: D3835: Read from Orbeon Forms.
This revision is now accepted and ready to land.Nov 1 2025, 12:09