Nette\Database a „Table does not have any primary key“
- Paimutan
- Člen | 33
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
<?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)