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