Jak na jednoduchý select?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kloban
- Člen | 123
Mám tento select do databáze, který mi vybere jednu jedinou číselnou hodnotu.
$id_objednavky = $this->database->table('objednavka')
->select("id")
->where("id_stul", 1)
->where("zaplaceno", 0)
->limit(1);
Proč mi to po zavolání:
print_r($id_objednavky);
vypíše toto všechno:
Nette\Database\Table\Selection Object
(
[connection:protected] => Nette\Database\Connection Object
(
[onConnect] =>
[onQuery] => Array
(
[0] => Array
(
[0] => Nette\Database\Diagnostics\ConnectionPanel Object
(
[maxQueries] => 100
[totalTime:Nette\Database\Diagnostics\ConnectionPanel:private] => 0.00035881996154785
[count:Nette\Database\Diagnostics\ConnectionPanel:private] => 1
[queries:Nette\Database\Diagnostics\ConnectionPanel:private] => Array
(
[0] => Array
(
[0] => Nette\Database\Connection Object
(záměrně zkrácený výpis)
- ViPEr*CZ*
- Člen | 818
Selection neobsahuje všechny vrácené sloupečky. Selection obsahuje jen
informace pro to, aby se mohl zavolat správný SQL dotaz.
Ten se zavolá až například po metodě fetch() jak píše greeny.
A pokud máte volat ->fetch()->id tak by jste měl mít jistotu, že
fetch() něco vůbec vrátí. Pokud by řádek v DB nebyl, tak by to
hodilo chybu.