Пример набора данных
id,created_at, status, category, c_sub_category
1, 2019-01-02 16:36:06, closed, Issue, Team 1
2, 2019-01-03 18:36:01, closed, Fix, Team 2
Как видите, существует два типа c_sub_category
, поэтому группа должна возвращать две строки.В настоящее время он возвращает только первый результат, когда я добавляю предложение whereBetween
Я использую Laravel 5.6
и SQLite
Я пытаюсь вернуть определенные результаты между временными рамками.Проблема в том, что когда я добавляю предложение whereBetween
в столбец created_at
, результаты пропускаются.created_at
имеет тип DateTime
startDate
и endDate
являются экземплярами углерода
{
"startDate": {
"date": "2019-01-01 00:00:00.000000",
"timezone_type": 3,
"timezone": "America/Toronto"
},
"endDate": {
"date": "2019-01-06 23:59:59.999999",
"timezone_type": 3,
"timezone": "America/Toronto"
}
}
Этот запрос должен вернуть два результата.Я группирую по c_sub_category
, и есть только два c_sub_categories
, но в настоящее время он возвращает только 1 результат
$data = Tickets
::whereBetween('created_at', [$week["startDate"], $week["endDate"]])
->where('status', 'closed')
->where('category', '!=', 'New Development')
->groupBy('c_sub_category')
->get();
Этот запрос без предложения whereBetween
, возвращающего два результата, которые являются правильными
$data = Tickets
->where('status', 'closed')
->where('category', '!=', 'New Development')
->groupBy('c_sub_category')
->get();
Другие способы, которые я пробовал, также не возвращают правильный набор результатов
$data = Tickets
::where(function ($query) use ($week) {
$query->whereBetween('created_at', [$week["startDate"], $week["endDate"]]);
})
->where('category', '!=', 'New Development')
->where('status', 'closed')
->groupBy('c_sub_category')
->get();
$data = Tickets
::where(function ($query) use ($week) {
$query->whereBetween('created_at', [$week["startDate"], $week["endDate"]]);
})
->where(function ($query) use ($week) {
$query->where('category', '!=', 'New Development');
->where('status', 'closed');
})
->groupBy('c_sub_category')
->get();