fetchAll – jak zjistit počet načtených řádků
- Honza.Mottl
- Člen | 104
Ahoj,
načítám položky pomocí fechAll do pole. Když je načteno více záznamů,
tak dostanu pole polí. Pokud je načten jeden záznam, dostanu
jednorozměrné pole.
Jak nejlépe zjistit počet dodaných záznamů? Zatím mne napadlo pouze zjistit počet dimensí pole (viz funkc e dole ze stackoverflow).
Díky
Honza
public function getPripadPolozky($id)
{
return $this->database->table(self::PRIPADPOL_TABLE_NAME)
->select('*')
->where(self::PRIPAD_COLUMN_ID, $id)
->order(self::PRIPADPOL_COLUMN_ID.' ASC')
->fetchAll();
}
function count_dimension($Array, $count = 0) {
if(is_array($Array)) {
return count_dimension(current($Array), ++$count);
} else {
return $count;
}
}
- Michal Hlávka
- Člen | 190
Snad jsem tě pochopil správně, chceš počet načtených položek, to ti
normálně spočítá funkce count()
, pokud budeš mít jedno pole,
nebo pole polí, furt ti bude počítat na první úrovni a dostaneš počet
záznamů.
- Honza.Mottl
- Člen | 104
Díky. Máš pravdu, dá se použít count ve smyslu funkce iterátoru. Nikoliv stejnojmenné metody třídy Selection.
Zblblo mne, že jsem v Tracy pro jeden záznam neviděl pole a tak jsem přemýšlel jak s tím výsledkem budu zacházet. Ale on tam žádný problém není, protože výsledek je Traversable a tak za mne vše vyřeší foreach.