ukládání dat z formuláře do tabulky s cizími klíči
- adferg
- Člen | 31
Ahoj, pokouším se uložit data z formuláře do tabulky, která má hned několik polí s cizími klíči. Mysql bazíruje na tom, aby při vkládání záznamu existovala nějaká hodnota do polí s cizími klíči.
Zkusil jsem vloži pole
"addHidden('cizi_klic');":null
a změnit jeho hodnotu na 1 přes addFilter
->addFilter(function ($value)
{
return '1';
});
což končí chybou v logu:
Nette\MemberAccessException: Call to undefined method Nette\Forms\Controls\HiddenField::addFilter().
addFilter mi normálně funguje u pole addText etc. Řekl bych, že to je poměrně obvyklá operace, ale nemůžu najít návod, jak se tabulka s cizími klíči u kterých není v momentě ukládání do databáze známá hodnota (tu tam potřebuju uložit až později) řeší.
Díky za rady, tipy
- David Matějka
- Moderator | 6445
Řekl bych, že to je poměrně obvyklá operace, ale nemůžu najít návod, jak se tabulka s cizími klíči u kterých není v momentě ukládání do databáze známá hodnota (tu tam potřebuju uložit až později) řeší.
nullable sloupec v databazi
- adferg
- Člen | 31
Díky Davide, to pomohlo. Jen se zeptám, abych tomu rozuměl správně. U toho addHidden prostě addFilter použít nedává smysl nebo mám jen něco špatně nastaveno? Ptám se proto, že bych chtěl uložit do databáze identitu uživatele který formulář odesílá (něco jako user_id) ale bez toho, aby k tomu existovalo viditelné pole.
Editoval adferg (16. 11. 2020 11:10)