Řešení pro čísla s desetinným místem

romanm
Člen | 27
+
0
-

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
+
+3
-
$form->addText('price', 'Cena')
	->addRule(Form::FLOAT, 'Zadejte číslo');
	->setNullable();

https://doc.nette.org/…rms/controls#…

romanm
Člen | 27
+
0
-

áááá díky. Já si říkal, že jsem v doc k tomu viděl. Má blbost