Při AJAxu nefunguje update prvního záznamu
- Tomáš Brchaň
- Člen | 13
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ě?
- Tomáš Brchaň
- Člen | 13
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
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.