Uložení true/false do db pomocí checkboxu
- .:M@rt!n:.
- Člen | 201
Ahoj, do db bych potřeboval z checkboxu ukládat true nebo false. V dokumentaci je napsáno že vždy vrací true/false. Takže jestli to dobře chápu tak když ho nezaškrtnu tak by se mělo do db uložit false (0) ale i když ho nemám zaškrtnutý tak se mě ukládá true (1). Kde by mohl být problém?
- ViPEr*CZ*
- Člen | 817
No a díval jste se co Vám to vrací? Auto by mělo startovat otočením klíčku… ale když klíček otočím stále stojím na místě… asi takhle se ptáte. Pošlete kód jak to děláte, dumpněte si hodnoty co se Vám vrací při odeslání formuláře. A taky se podívejte do Debug baru jakej SQL dotaz se provádí při insertu do DB a hned budem všichni chytřejší ;-)
- .:M@rt!n:.
- Člen | 201
Vytvoření formuláře:
$form->addText('ucet', 'Název účtu:')
->addRule(Form::FILLED, 'Je nutné zadat název účtu.');
$form->addCheckbox('novinky', 'Novinky');
$form->addCheckbox('menu', 'Menu');
$form->addCheckbox('kategorie', 'Kategorie');
$form->addCheckbox('jidelniListek', 'Jídelní lístek');
$form->addCheckbox('napojovyListek', 'Nápojový lístek');
$form->addCheckbox('akce', 'Akce');
$form->addCheckbox('uzivatele', 'Uživatele');
Kód pro uložení do db:
dump($this->context->createUcet()->insert(array(
'ucet' => $form->values->ucet,
'novinky' => $form->values->novinky,
'menu' => $form->values->menu,
'kategorie' => $form->values->kategorie,
'jidelniListek' => $form->values->jidelniListek,
'napojovyListek' => $form->values->napojovyListek,
'akce' => $form->values->akce,
'uzivatele' => $form->values->uzivatele
)));
Při dump, při zaškrtnutí požadovaných políček, to vypíše:
data private => array(9) {
ucet => "pokus" (5)
novinky => TRUE
menu => TRUE
kategorie => TRUE
jidelniListek => FALSE
napojovyListek => FALSE
akce => FALSE
uzivatele => FALSE
id => "8"
}
V debug baru SQL pro vložení do db:
INSERT INTO `ucet` (`ucet`, `novinky`, `menu`, `kategorie`, `jidelniListek`, `napojovyListek`,
`akce`, `uzivatele`)
VALUES ('pokus', ?, ?, ?, ?, ?, ?, ?)