Как я могу выбрать данные базы данных, используя whereBetween () с определенным временем (часы, минуты)? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь выбрать весь день продаж, хранящихся в базе данных, но проблема в том, что рабочий день начинается в 6 вечера и заканчивается в 5 утра. Например: пятница с 6:00 вечера до 5:00 утра в субботу.

Как я могу решить эту проблему, используя whereBetween () или есть другое решение?

Приведенный ниже код является старой версией, когда рабочий день начинался и заканчивался в один и тот же день.

SalesController php

$sales_day = DB::table('sales')->where('active',1)->whereDate('created_at', '=', Carbon::today()->toDateString())->orderBy('id','desc')->paginate(15);

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Следуя совету Рубиса выше, я нашел это решение:

$sales_day = DB::table('sales')->where('active',1)
            ->whereBetween('created_at',[
                Carbon::today()->toDateString(),//first day
                Carbon::today()->addDays(1)->toDateString()//second day
            ])
            ->whereTime('created_at','>=','12:00:00')//12:00 as 23:59
            ->whereTime('created_at','<=','5:00:00')//00:00 as 05:00
            ->orderBy('id','desc')
            ->paginate(15);
0 голосов
/ 12 января 2019

Вы можете использовать функцию whereTime() для фильтрации диапазона времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...