Size: a a a

2020 September 21

D

DK in Laravel Pro
источник

LA

Lipe App in Laravel Pro
Mikhail
боты
И такие боты ест
источник

S

Stan in Laravel Pro
Sergey Pashkevich
В бд у меня хранятся записи в utc:
1 2019-09-21 20:00:00
2 2019-09-21 21:01:00
3 2019-09-22 00:00:00

Таймзона пользователя Минск +3

Пользователь хочет получить записи от 2019-09-22 00:00:00 по его таймзоне с группировкой по дням.

MySQL запрос:
select DATE(event_date) as date where event_date >= '2019-09-21 00:00:00' from sales GROUP BY date.

** event_date >= '2019-09-21 21:00:00' потому что по Минск таймзоне начало 22-го числа это в utc 21 число 21:00

В итоге я получу все три записи, но должен получить только 2 и 3.
Конвертируй зону пользователя на стороне php в utc и потом отправляй запрос.
источник

SW

Senior Web Developer in Laravel Pro
Арабы везде заблокируют поэтому ))
источник

SP

Sergey Pashkevich in Laravel Pro
Stan
Конвертируй зону пользователя на стороне php в utc и потом отправляй запрос.
Не поможет. Я описал выше какая проблема выходит
источник

S

Stan in Laravel Pro
Sergey Pashkevich
Не поможет. Я описал выше какая проблема выходит
Кинь ссылку на сообщение с проблемой, потерял тред уже.
Я недавно решал много подобных вопросов.
источник

SP

Sergey Pashkevich in Laravel Pro
Sergey Pashkevich
В бд у меня хранятся записи в utc:
1 2019-09-21 20:00:00
2 2019-09-21 21:01:00
3 2019-09-22 00:00:00

Таймзона пользователя Минск +3

Пользователь хочет получить записи от 2019-09-22 00:00:00 по его таймзоне с группировкой по дням.

MySQL запрос:
select DATE(event_date) as date where event_date >= '2019-09-21 00:00:00' from sales GROUP BY date.

** event_date >= '2019-09-21 21:00:00' потому что по Минск таймзоне начало 22-го числа это в utc 21 число 21:00

В итоге я получу все три записи, но должен получить только 2 и 3.
Вот
источник

S

Stan in Laravel Pro
Sergey Pashkevich
В бд у меня хранятся записи в utc:
1 2019-09-21 20:00:00
2 2019-09-21 21:01:00
3 2019-09-22 00:00:00

Таймзона пользователя Минск +3

Пользователь хочет получить записи от 2019-09-22 00:00:00 по его таймзоне с группировкой по дням.

MySQL запрос:
select DATE(event_date) as date where event_date >= '2019-09-21 00:00:00' from sales GROUP BY date.

** event_date >= '2019-09-21 21:00:00' потому что по Минск таймзоне начало 22-го числа это в utc 21 число 21:00

В итоге я получу все три записи, но должен получить только 2 и 3.
Ты видимо не понял.
Ты хранишь в UTC
Пользователь хочет в UTC +3
Конвертируешь ту дату, которую дал пользователь из UTC+3 в UTC и делаешь выборку из базы.
источник

SP

Sergey Pashkevich in Laravel Pro
Stan
Ты видимо не понял.
Ты хранишь в UTC
Пользователь хочет в UTC +3
Конвертируешь ту дату, которую дал пользователь из UTC+3 в UTC и делаешь выборку из базы.
Тогда потеряется часть данных 1 и 2 в моем примере
источник

SP

Sergey Pashkevich in Laravel Pro
И вернётся только 3 но это неправильно
источник

SP

Sergey Pashkevich in Laravel Pro
Должно быть 2 и 3
источник

A

Arman in Laravel Pro
Sergey Pashkevich
В бд у меня хранятся записи в utc:
1 2019-09-21 20:00:00
2 2019-09-21 21:01:00
3 2019-09-22 00:00:00

Таймзона пользователя Минск +3

Пользователь хочет получить записи от 2019-09-22 00:00:00 по его таймзоне с группировкой по дням.

MySQL запрос:
select DATE(event_date) as date where event_date >= '2019-09-21 00:00:00' from sales GROUP BY date.

** event_date >= '2019-09-21 21:00:00' потому что по Минск таймзоне начало 22-го числа это в utc 21 число 21:00

В итоге я получу все три записи, но должен получить только 2 и 3.
так тут ошибка, where DATE(event_date) >= '2019-09-21 00:00:00'
источник

A

Arman in Laravel Pro
Arman
так тут ошибка, where DATE(event_date) >= '2019-09-21 00:00:00'
и что возвращает DATE(event_date) ? может там вообще ничего)
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
так тут ошибка, where DATE(event_date) >= '2019-09-21 00:00:00'
нет, я делаю фильтрация не по агрегированному полю а по чистому
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
и что возвращает DATE(event_date) ? может там вообще ничего)
Y-m-d
источник

4

4unkur in Laravel Pro
$query = CertificateTemplate::query();

foreach ($surveyTemplates as $template) {
   $query->orWhere(function ($query) use ($template) {
       $query->where('category_id', $template->category_id)
           ->where('convention', $template->convention)
           ->where('prerequisites', 'LIKE', "%{$template->type}%");
   });
}

$result = $query->get();


есть такой код.
есть ли возможность чтобы в $result записывался и $template->id?
источник

A

Arman in Laravel Pro
Sergey Pashkevich
нет, я делаю фильтрация не по агрегированному полю а по чистому
а если без group by? может другое поле дает три записи
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
а если без group by? может другое поле дает три записи
нужна группировка
источник

A

Arman in Laravel Pro
Sergey Pashkevich
нужна группировка
так это другой вопрос, попробуй без группировки
источник

SP

Sergey Pashkevich in Laravel Pro
без группировки будет работать..хмм.а вот вопрос назрел.
источник