Při AJAxu nefunguje update prvního záznamu

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

Ahojte.
Asi dělám nějakou nesmyslnou chybu nebo co. Mám poslední Nette 2.0.10 a dělám uložení formuláře do db pomocí standardního Nette DB. Data z formuláře odešlu pomocí AJAXu, načtu v poli (mám tam container) a smyčkou ukládám data. Řádky se pěkně ukládají, až na ten první.
Když odešlu formulář podruhé, tak se vše uloží.
Jen při vytváření nových záznamů není žádný problém, pouze u update.

Můžete mě někdo nakopnout, co dělám špatně?

bazo
Člen | 620
+
0
-

premiestni nacitavanie dat z action metody do render metody

Tomáš Brchaň
Člen | 13
+
0
-

Zapomněl jsem uvést, že se jedná o componentu. Žádnou action tam nemám, jen render().

Nicméně je to divné. když si dám vypsat data, tak vše je záznamu jak má být, pouze se neprovede ten update, takže to není problém chybějících dat. Spíš mi připadá, že se to dá někde do cache, která se už neprovede fyzicky na databázi.

Tomáš Brchaň
Člen | 13
+
0
-

Tak jsem na to přišel.

Chyba je ve vzorovém Repository, ze kterého jsem vyšel. V ní funkce save($dataSet) počítá s tím, že $dataSet je pole. Dal jsem si tam podmínku pro rozlišení záznamu, zda jde o pole nebo ActiveRow a dle toho záznam uložil.

Ale i tak je divné, že ty další záznamy se uložily, ale jen ten první ne. Nevidím do vnitřností Nette, tak to zatím pro mě asi zůstane záhadou.
Nicméně problém mám vyřešen.