Size: a a a

2020 September 21

SP

Sergey Pashkevich in Laravel Pro
@nex_otaku что раньше будет операция группировки или фильтрации where ?
источник

NO

Nex Otaku in Laravel Pro
Sergey Pashkevich
@nex_otaku что раньше будет операция группировки или фильтрации where ?
Группировка в конце
источник

NO

Nex Otaku in Laravel Pro
гугл "sql statement order of execution"
источник

SP

Sergey Pashkevich in Laravel Pro
тогда странно получается
источник

MK

Maksim Khodyrev in Laravel Pro
4unkur
$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?
только через union скорее всего
источник

A

Arman in Laravel Pro
having на худой конец. но по уму бы норм задачу услышать
источник

SP

Sergey Pashkevich in Laravel Pro
и по идее должно работать
источник

4

4unkur in Laravel Pro
Maksim Khodyrev
только через union скорее всего
точно, надо попробовать.
источник

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.
Arman
источник

S

Stan in Laravel Pro
Sergey Pashkevich
Тогда потеряется часть данных 1 и 2 в моем примере
ты выборку из бд делай не` >=, а `between
источник

A

Arman in Laravel Pro
это понятно, но если в один день у него две записи тогда что делаем? count() рядом или что?
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
это понятно, но если в один день у него две записи тогда что делаем? count() рядом или что?
count, sum ..
источник

SP

Sergey Pashkevich in Laravel Pro
Stan
ты выборку из бд делай не` >=, а `between
а как это поможет, если даже при >= уже неправильно
источник

A

Arman in Laravel Pro
Sergey Pashkevich
count, sum ..
тогда добавить нужно эти функции. лучше на сырых SQL решить что делаешь, а после уже на ОРМ собирать
источник

S

Stan in Laravel Pro
фуф, блин
сейчас ноут включу и напишу
с телефона долго
там всё элементарно же...
источник

S

Stan in Laravel Pro
у тебя eloquent или ты сам запрос пишешь?
источник

S

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

SP

Sergey Pashkevich in Laravel Pro
eloquent
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
тогда добавить нужно эти функции. лучше на сырых SQL решить что делаешь, а после уже на ОРМ собирать
так я всё на бд делаю
источник

A

Arman in Laravel Pro
Sergey Pashkevich
так я всё на бд делаю
sql полный можно?
источник