Size: a a a

Эликсир и Вунш

2019 March 21

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Он же query конвертирует в sql -  как это должно работать по твоему
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Просто в sql же есть встроенные механизмы
источник

NK

ID:476249930 in Эликсир и Вунш
мой пример - у меня в моделе поле eventdate_utc. клиент мобильный и у него своя таймзона. мне нужно выдать ему записи где eventdate в его таймзоне принадлежит к сегодня/завтра
источник

NK

ID:476249930 in Эликсир и Вунш
то есть eventdate в utc может быть 21.03.2019 а у клиента с минусовой таймзоной у него вообще 20.03 в данный момент, и является сегодяшним днем у него
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Сгенерируй 2 границы через Timex, а потом зашли через between
источник

NK

ID:476249930 in Эликсир и Вунш
как? мне же не последние 24 часа нужны. а границы "сегодня" в его таймзоне
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Конвертируй 00:00 в его таймзоне в utc
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Потом 24:00
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Конец
источник

NK

ID:476249930 in Эликсир и Вунш
в правой вычисляемой части я могу же любые функции использовать?
источник

AV

Andrew Volozhanin in Эликсир и Вунш
нет
источник

NK

ID:476249930 in Эликсир и Вунш
типа add(Datetime.utc_now, clientzone, hours)
источник

AV

Andrew Volozhanin in Эликсир и Вунш
where это макрос, в который при вызове можно прокинуть значени переменной, например со временем: where(eventdata_utc: ^now).
но напрямую вызывать обычный функции там нельзя. where(eventdata_utc: ^Timex.to_date(now))
источник

AV

Andrew Volozhanin in Эликсир и Вунш
п.ч. ^var это не позволяет
источник

NK

ID:476249930 in Эликсир и Вунш
вынести за пределы Repo.all () ?
источник

AV

Andrew Volozhanin in Эликсир и Вунш
но вызвать например функцию из Ecto.Query.Api можно: where([q], q.eventdata_utc >= from_now(3, "month"))
источник

AV

Andrew Volozhanin in Эликсир и Вунш
как пример
источник

AV

Andrew Volozhanin in Эликсир и Вунш
присваиваешь в переменные все что нужно, и прокидываешь в where
источник

AV

Andrew Volozhanin in Эликсир и Вунш
по-другому особо никак
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Помоему так можно
источник