Page MenuHomeDevCentral

Fetch a scalar value from a result
ClosedPublic

Authored by dereckson on Nov 1 2025, 12:05.
Tags
None
Referenced Files
F23937573: D3838.id9935.diff
Sun, Feb 8, 01:40
F23929825: D3838.id9934.diff
Sun, Feb 8, 00:36
F23918548: D3838.id9934.diff
Sat, Feb 7, 22:39
F23911528: D3838.id9935.diff
Sat, Feb 7, 21:25
F23909236: D3838.id9934.diff
Sat, Feb 7, 21:00
F23902048: D3838.diff
Sat, Feb 7, 19:40
F23899739: D3838.id9934.diff
Sat, Feb 7, 19:18
Unknown Object (File)
Wed, Feb 4, 06:19
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 Passed
Unit
Tests Passed
Branch
main
Build Status
Buildable 6130
Build 6414: arc lint + arc unit

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