tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

SQL dotaz s fetchAssoc(date) nevraci zadny vysledek

před 6 lety

kenod
Člen | 3

Zdravim,
mam SQL dotaz:

return dibi::query('SELECT [ps].[den], [ps].[pocet_zobrazeni] FROM [produkty_statistiky] AS [ps]
                         INNER JOIN [produkty_eshopy] AS [pe] ON [pe].[id_produkty] = [ps].[id_produkty]
                         WHERE [pe].[id_eshop_eshopy] = %i',$_SESSION['eshop_id'],'
                             AND [ps].[den] >= %d',$datumOd,'
                             AND [ps].[den] <= %d',$datumDo,'
                             GROUP BY [ps].[id_produkty]')->fetchAssoc('den');

ale pokud to zapisu s fetchAssoc, tak to nevrati zadny vysledek, protoze „den“ to vraci jako DibiDateTime. Jde to zapsat nejak tak, aby to vratilo asociovane podle data – napr. vypnout pro tento dotaz prevod na DibiDateTime objekt?

před 6 lety

kenod
Člen | 3

kenod napsal(a):

Zdravim,
mam SQL dotaz:

return dibi::query('SELECT [ps].[den], [ps].[pocet_zobrazeni] FROM [produkty_statistiky] AS [ps]
                       INNER JOIN [produkty_eshopy] AS [pe] ON [pe].[id_produkty] = [ps].[id_produkty]
                       WHERE [pe].[id_eshop_eshopy] = %i',$_SESSION['eshop_id'],'
                           AND [ps].[den] >= %d',$datumOd,'
                           AND [ps].[den] <= %d',$datumDo,'
                           GROUP BY [ps].[id_produkty]')->fetchAssoc('den');

ale pokud to zapisu s fetchAssoc, tak to nevrati zadny vysledek, protoze „den“ to vraci jako DibiDateTime. Jde to zapsat nejak tak, aby to vratilo asociovane podle data – napr. vypnout pro tento dotaz prevod na DibiDateTime objekt?

// EDIT
tak uz jsem na to prisel, nevrati to jako pole, kdyz je tam date time, pokud to zapisu takto:

return dibi::query('SELECT [ps].[den], [ps].[pocet_zobrazeni] FROM [produkty_statistiky] AS [ps]
                         INNER JOIN [produkty_eshopy] AS [pe] ON [pe].[id_produkty] = [ps].[id_produkty]
                         WHERE [pe].[id_eshop_eshopy] = %i',$_SESSION['eshop_id'],'
                             AND [ps].[den] >= %d',$datumOd,'
                             AND [ps].[den] <= %d',$datumDo,'
                             GROUP BY [ps].[id_produkty]')->setFormat(dibi::DATE,"Y-m-d")->fetchAssoc('den');

tak je to vporadku