ako zistit pocet rows z databazy

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
xand
Člen | 15
+
0
-

caute, pouzivam nette database, mam

return $this->database->query('SELECT orders_products.id, product_id, name, price, orders_products.file, orders_products.note
					FROM orders_products
					LEFT JOIN products
					ON orders_products.product_id = products.id
					WHERE order_id = 1 AND removed != 1');

ako skontrolujem ci pocet rows je 0? lebo toto mi vracia true a nejaku classu, aj ked je rows je 0.
->count() nefunguje a count() vracia vzdy 1

dakujem!

ViPEr*CZ*
Člen | 818
+
0
-

Co takhle se kouknout do API?
Tohle vrací Statement a ta nemá metodu count, ale getRowCount() případně tu z PDOStatement rowCount().

mr.mac
Člen | 87
+
0
-

Co takhle toto:

//Model
public function getData() {
	return $this->database->query('SELECT ...')->fetchAll();
}
//Presenter
$rows = $model->getData();
$pocet = count($rows);

Tedy já používám Dibi, doufám, že nette database má taky metodu obdobnou jako dibi fetchAll().

xand
Člen | 15
+
0
-

dakujem, getRowCount mi funguje, pozeral som do dokumentacie no v casti statement som to prehliadol.

@mr.mac: vdaka :) ja pouzivam len database a prave tam count() nefungovalo. aspon co som pochopil, namiesto fetchAll sa pouziva rovno foreach a funguje to. v mojom pripade, ked vracalo 0 rows, tak do foreach ani program nesiel.