Primary key not found, Primary key not found

- koudis
- Člen | 33
Ahoj,
narazil jsem na jednu divnou chybu.
Chci ulozit data do db pomoci metody Nette\Database\Table\ActiveRow::update a co nevidim "Cannot read an undeclared column "id"" coz mi prijde velmi zvlastni.
V Db jsou vsechny PK spravne oznacene, vymazal jsem adresar „temp“ – nepomohlo.
Nevite nahodou nekdo, co muze byt pricinou teto chyby?

- David Matějka
- Moderator | 6445
aktualizuj na novejsi stable verzi
jakou pouzivas reflection? discovered nebo conventional?

- David Matějka
- Moderator | 6445
v configu, https://doc.nette.org/cs/configuring#… pokud nemas nastaveno reflection, tak se pouziva discovered (ted si teda nejsem jistej, jestli i v starsi verzi jako 2.0.6, ale asi jo)…

- Milo
- Nette Core | 1283
Defaultní je ConventionalReflection což znamená, že musíš
při tvorbě databáze používat danou konvenci. Ohledně sloupců
s primárním klíčem je dohoda taková, že se sloupce s primárním
klíčem jmenují id.
Můžeš použít DiscoveredReflection. Ta si databázi osahá a
zjistí si sama, jak se sloupce s primárním klíčem
jmenují. $connection->setDatabseReflection(new DiscoveredReflection(...))
Viz API k Nette 2.0.6
Pokud ale můžeš, upgradni na 2.0.12. V NDB bylo hodně fixů a změn.

- David Matějka
- Moderator | 6445
@Milo: conventional reflection je defaultni pouze v pripade primeho instancovani Connection, pri klasicke konfiguraci pres neon je defaultni discovered