Size: a a a

2020 September 21

SP

Sergey Pashkevich in Laravel Pro
но из-за таймзон часть данных сейчас может улетать
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
sql полный можно?
сейчас
источник

DK

Dmitriy K. in Laravel Pro
SELECT date(created_at - INTERVAL 3 HOURS) dt, count(*) cnt
FROM posts
WHERE created_at >= '2020-09-20 21:00:00'
GROUP BY dt
ORDER BY cnt

Нет?
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
sql полный можно?
select COUNT(*)                                                                        total_count,
      COUNT(IF(type = 'refund', 1, NULL))                                               refunds_count,
      SUM(IF(type = 'sale', total_sum, NULL))                                         revenue,
      AVG(IF(type = 'sale', total_sum, NULL))                                         avg_check,
      SUM(IF(type = 'sale', items_count, NULL))                                       sale_items_count,
      (SUM(IF(type = 'sale', items_count, NULL)) / COUNT(IF(type = 'sale', 1, NULL))) avg_check_depth
from sales
where is_synchronized = ?
 and warehouse_id in
     (?)
 and (event_date >= ? and event_date <= ?)
 and sales.deleted_at is null
group by date
order by date asc
источник

DK

Dmitriy K. in Laravel Pro
Добавляете смещение в условии WHERE и в выборке
Пересчитывать при поиске ничего не нужно, группировка после выборки идёт
источник

SP

Sergey Pashkevich in Laravel Pro
Dmitriy K.
SELECT date(created_at - INTERVAL 3 HOURS) dt, count(*) cnt
FROM posts
WHERE created_at >= '2020-09-20 21:00:00'
GROUP BY dt
ORDER BY cnt

Нет?
источник

SP

Sergey Pashkevich in Laravel Pro
да, но я думал, что это будет очень дорого для бд, но @nex_otaku объяснил, что не будет если правильно всё сделать
источник

DK

Dmitriy K. in Laravel Pro
where created_at - interval 3 hours - долго
а в select created_at - interval 3 hours - быстро
источник

A

Arman in Laravel Pro
Sergey Pashkevich
select COUNT(*)                                                                        total_count,
      COUNT(IF(type = 'refund', 1, NULL))                                               refunds_count,
      SUM(IF(type = 'sale', total_sum, NULL))                                         revenue,
      AVG(IF(type = 'sale', total_sum, NULL))                                         avg_check,
      SUM(IF(type = 'sale', items_count, NULL))                                       sale_items_count,
      (SUM(IF(type = 'sale', items_count, NULL)) / COUNT(IF(type = 'sale', 1, NULL))) avg_check_depth
from sales
where is_synchronized = ?
 and warehouse_id in
     (?)
 and (event_date >= ? and event_date <= ?)
 and sales.deleted_at is null
group by date
order by date asc
если без вычисления avg_check_depth? две записи или три?
источник

SP

Sergey Pashkevich in Laravel Pro
Arman
если без вычисления avg_check_depth? две записи или три?
а это никак не влияет
источник

KB

Kaspar Brauberg in Laravel Pro
Всем привет. Кто пользовался vagrant + homestead. У меня перестала запускаться виртуальная машина, соответсвенно разворачиваться база, в которой было кое-что важное. Эти данные реально как-то достать без запуска vagrant?
источник

S

Stan in Laravel Pro
@siarheipashkevich
use Carbon\Carbon;

$date = Carbon::createFromFormat('Y-m-d H:i:s', '2019-09-22 00:00:00', 'Europe/Minsk');
$from = $date->copy()->startOfDay()->timezone('UTC');
$to = $date->copy()->endOfDay()->timezone('UTC');

Event::whereBetween('event_date', [$from, $to])->get();

примерно так.
group by сам добавишь?
источник

SP

Sergey Pashkevich in Laravel Pro
Stan
@siarheipashkevich
use Carbon\Carbon;

$date = Carbon::createFromFormat('Y-m-d H:i:s', '2019-09-22 00:00:00', 'Europe/Minsk');
$from = $date->copy()->startOfDay()->timezone('UTC');
$to = $date->copy()->endOfDay()->timezone('UTC');

Event::whereBetween('event_date', [$from, $to])->get();

примерно так.
group by сам добавишь?
спасибо, конечно ) но не в этом проблема) конвертнуть в таймзону или в ютс я чуть-чуть умею) тут проблема больше по работе с данными в бд именно их получение
источник

SP

Sergey Pashkevich in Laravel Pro
но у меня есть такое чувство, что это не проблема и что всё должно быть ок, если where срабатывает раньше чем group by
источник

S

Stan in Laravel Pro
я не понимаю в чем проблема
тебе надо данные за 22.09.2019 по времени минска
в базе они в UTC
выборку из базы делаешь с поправкой на зону, т.е. конвертируешь время перед запросом и потом уже в запрос вставляешь время в UTC

можно это делать на стороне базы - но это будет дольше
источник

SP

Sergey Pashkevich in Laravel Pro
Stan
я не понимаю в чем проблема
тебе надо данные за 22.09.2019 по времени минска
в базе они в UTC
выборку из базы делаешь с поправкой на зону, т.е. конвертируешь время перед запросом и потом уже в запрос вставляешь время в UTC

можно это делать на стороне базы - но это будет дольше
=) я сам уже запутался, вроде всё ок, после нашего общения и я сам себя запутал. т.е. мне по сути надо все даты, которые пользователь хочет использовать в фильтрах конвертировать в utc и тогда будет всё ок
источник

S

Stan in Laravel Pro
именно так
источник

AY

Artyom Yun in Laravel Pro
Ребята, кто подскажет с регистрацией по смс?
источник

AY

Artyom Yun in Laravel Pro
Сложно или нет?
источник

S

Stan in Laravel Pro
я думал уже давно есть откуда качать без регистрации и смс :)
источник