Ako používať Table Selection API?

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

Zdravím,

v dokumentácii v časti: Databáze & ORM je Table Selection API. Potreboval by som pomoc s tým ako to treba používať. Potreboval by som zistiť ID z tabulky na základe nejakých podmienok a to zistené ID vložiť do premennej. Proste takýto jednoduchý SQL select:
SELECT id FROM tabulka WHERE nieco = 1 AND nieco_ine = 1;

skúšal som to všelijak napríklad nejak takto:

$table = $this->db->table('tabulka');
$premenna = $table->select('id')->where('nieco=? AND nieco_ine=?', $nieco,$nieco_ine);

ak si dám tu premennú vypísať, tak výsledok je stále ničo takéto:

Nette\Database\Table\Selection(22) {
   connection => Nette\Database\Connection(7) {
      dsn private => "mysql:host=localhost;dbname=databaza" (34)
      driver private => Nette\Database\Drivers\MySqlDriver(2) {
         supports => array(1) { ... }
         connection private => Nette\Database\Connection(7) { *RECURSION* }
      }
      preprocessor private => Nette\Database\SqlPreprocessor(6) {
         connection private => Nette\Database\Connection(7) { *RECURSION* }
         driver private => Nette\Database\Drivers\MySqlDriver(2) { ... }
         params private => NULL
         remaining private => NULL
         counter private => NULL
         arrayMode private => NULL
      }
      databaseReflection private => ........
.
.
.
.
.

ďakujem za pomoc

JuniorJR
Člen | 181
+
0
-

fetch it

$row = $premenna->fetch()

Editoval JuniorJR (14. 12. 2011 10:13)

joeyGTR
Člen | 19
+
0
-

JuniorJR napsal(a):

fetch it

$row = $premenna->fetch()

nefunguje to… výsledok je podobný…

JuniorJR
Člen | 181
+
0
-

však tim získáš první řádek z výsledného selectu a z toho dostaneš už to id

$id = $row->id;

Editoval JuniorJR (14. 12. 2011 10:54)

joeyGTR
Člen | 19
+
0
-

oou…jaj jasneee…
funguje to…
ďakujem za pomoc