From 06a487532d333537b6de3da530a96276572d8000 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Fri, 4 May 2018 22:32:45 +0200 Subject: [PATCH] Result: added getColumnCount() --- src/Dibi/Result.php | 9 +++++++++ tests/dibi/Result.meta.phpt | 9 +++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Dibi/Result.php b/src/Dibi/Result.php index 95febde8..b5987221 100644 --- a/src/Dibi/Result.php +++ b/src/Dibi/Result.php @@ -127,6 +127,15 @@ class Result implements IDataSource } + /** + * Returns the number of columns in a result set. + */ + final public function getColumnCount(): int + { + return count($this->types); + } + + /********************* fetching rows ****************d*g**/ diff --git a/tests/dibi/Result.meta.phpt b/tests/dibi/Result.meta.phpt index 253ab3b5..aa821a36 100644 --- a/tests/dibi/Result.meta.phpt +++ b/tests/dibi/Result.meta.phpt @@ -13,12 +13,17 @@ require __DIR__ . '/bootstrap.php'; $conn = new Dibi\Connection($config); $conn->loadFile(__DIR__ . "/data/$config[system].sql"); -$info = $conn->query(' +$res = $conn->query(' SELECT products.product_id, orders.order_id, customers.name, products.product_id + 1 AS [xXx] FROM ([products] INNER JOIN [orders] ON [products.product_id] = [orders.product_id]) INNER JOIN [customers] ON [orders.customer_id] = [customers.customer_id] -')->getInfo(); +'); + +$info = $res->getInfo(); + + +Assert::same(4, $res->getColumnCount()); Assert::same(