Nette\Database a „Table does not have any primary key“

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

Zdravím,

když chci pomocí Nette\Database vytáhnout hodnotu jednoho sloupce a nejedná-li se o hodnotu sloupce id, tak mi to vyhodí výjimku Table [nazev_tabulky] does not have any primary key.

Příklad v modelu:

return $this->db->table(TABLE_ARTICLE)->select(" title ")->limit(1, $offset)->fetch();
// Vyhodí uvedenou výjimku ohledně absence primary key

Pokud ale selectuju sloupec id, tak je vše v pořádku

return $this->db->table(TABLE_ARTICLE)->select(" id ")->limit(1, $offset)->fetch();
// Výjimku nevyhodí, vrátí správně id daného záznamu

V tabulce article primární klíč mám nastavený řekl bych správně (http://i.nahraj.to/f/bH0.png)

Netušíte, co je špatně? Používám Nette v2.0

PS: Pak jsem si všiml, že pokud odstraním celou metodu ->select(), vrátí to jen id daného záznamu, což je možná správně, jen mi to přišlo divný, tak to tu zmiňuju.. ale zvyknu si na to :)

wodCZ
Člen | 49
+
+1
-
<?php
$row = $this->db->table(TABLE_ARTICLE)->limit(1, $offset)->fetch();
return $row->title;
?>

ti vrací taky chybu?
o select by jsem se nestaral, ORM si pamatuje, jake sloupce potreboval a pri dalsim spusteni je automaticky vybira.

Pokud jsi menil tabulku nez jsi pridal klic, urcite promaz cache.

PS: Vítej na fóru ;)

Editoval Inkode (8. 8. 2012 16:20)

Paimutan
Člen | 33
+
0
-

Inkode:
Super, tenhle tvůj kód zafunguje (chybu nevrací).
Díky za řešení a za uvítanou .)