Občassná chyba Row does not contain primary id column data

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

Ahoj, mám problém v jednom sql dotazu:

Z deseti případů tak 2–3× na mě při selectu a následném použít těchto dat vyskočí tato hláška:

„Row does not contain primary id column data“

Select:

$resultDefinitionData = $this->dbTests->table('test_result_definition')->where('ID =?', intval($testDefinition['TEST_RESULT_DEFINITION_ID']))->fetch();

Tracy ukazuje tento dotaz (a vrátí jeden řádek):

SELECT * FROM `test_result_definition` WHERE (ID =1)

Ale když pak někde po tomto sql chci použít ta data – např. $resultDefinitionData[‚ID‘] apod…, tak právě někdy na mě vyskočí ta hláška… Proč? Tabulka má ID jako PK.

Díky

David Matějka
Moderator | 6445
+
0
-

verze nette?

n.u.r.v.
Člen | 485
+
0
-

Nette 2.2.x

Další zjištění – v té metodě kde je použit ten select, používám výsledná data na více místech. Teď zrovna mě vyskočila zase ta chyba a označilo řádek, kde poprvé používám načtená data z DB. Dal jsem reload stránky a chyba se přesunula na jiné místo, kde data používám.

n.u.r.v.
Člen | 485
+
0
-

Hmm, zkusil jsem vlastní select query a zatím ok – budu to testovat…

David Matějka
Moderator | 6445
+
0
-

Custom query bude fungovat. Tahle chyba se tyka ciste NDBT – neboli Selection a dalsich trid. Uz jsem parkrat videl, ze tuhle chybu nekdo zminoval. Bylo by dobre, kdyby se ti ji povedlo izolovat na sandboxu a na githubu zalozit issue.