tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Automatická detekce sloupce TIME

před 6 lety

Prochy
Člen | 91

Dobré ráno,

chci se tu zeptat na jednu věc. Když vybírám obyčejným dotazem např. SELECT time_from FROM TABULKA, datový typ TIME, tak pokud tam je čas jiný než 00:00:00, tak se to převede na DibiDateTime, což mi nevadí, ale pokud čas bude 00:00:00, tak dostávám obyčejný string, což mi dost komplikuje pokud použiju někde funkci format(), jelikož až mi to narazí na ten string, tak to vyhodí chybu.

Je možný nějakým způsobem docílit, aby i ten čas 00:00:00 převedl na DibiDateTime? Momentálně si zjišťuji jestli to je object, pokud ne, tak to převedu ručně na DibiDateTime, ale zajímalo by mě, jestli to jde lépe vyřešit.

Děkuji za odpověďi

před 6 lety

Milo
Nette Core | 1119

Je to bug v DibiResult::normalize(). Jako string skončí všechny časy začínající 00:. Jako hotfix můžeš tady použít:

if ((int) $value === 0 && substr((string) $value, 0, 3) !== '00:') { // '', NULL, FALSE, '0000-00-00', ...