Řešení pro čísla s desetinným místem
- romanm
- Člen | 27
Ahoj, trochu teď po upgradu na novější MariaDB (10.3) řešíme striktní režim databáze. Nechceme ho vypínat, ale spíš opravit aplikaci aby nemohla prasit jako do teď :)
Konkrétně teď řeším ukládání čísel s desetinným místem.
Aktuální stav
function komponenta()
{
...
$form->addText('price', 'Cena')
->addRule(Form::FLOAT, 'Zadejte číslo');
...
}
function zpravujForm($values)
{
...
$db->insert($values)
...
}
Za předpokladu že uživatel nezadá žádnou hodnotu do tohoto inputu, tak vrácený obsah je '' → a samozřejmě prázdný string neprojde do databáze, kde sloupec je decimal.
Jak řešíte formuláře s desetinnými místy a ukládání jejich dat? Napadá mě prostě tyto inputy ošetřovat ve zpracování
function zpravujForm($values)
{
...
$values['price'] = $values['price'] ?: null;
$db->insert($values)
...
}
Předem díky za rady nebo nakopnutí správným směrem
- galab
- Backer | 74
$form->addText('price', 'Cena')
->addRule(Form::FLOAT, 'Zadejte číslo');
->setNullable();