Фильтр записей даты на основе недели и года - PullRequest
0 голосов
/ 28 января 2020

Я создал обзорную страницу, которая показывает все изменения в определенном веб-приложении (как показано на прилагаемом рисунке).

enter image description here

Как На рисунке показано, что я визуально сделал два ввода, где пользователь может указать год и неделю, в которую происходит смена. Однако моя таблица Shift в настоящее время состоит из времени начала и окончания в формате DateTime, например, 2020-01-29 15:00:00.

Как лучше всего фильтровать эти записи таким образом?

Ответы [ 2 ]

1 голос
/ 28 января 2020

Вы можете использовать sql необработанный запрос для фильтрации результатов по номеру года и недели. Просто отправьте правильный ajax запрос на сервер с параметрами фильтра (год, номер недели) Например: если пользователь вводит год 2020 и неделю 34.

$data = YourModel::query()
    ->where(...)
    ->whereRaw('YEAR(created_at) = ?', [$request->year])
    ->whereRaw('DAYOFYEAR(created_at) BETWEEN ? AND ?', [7 * ($request->weeknumber - 1), 7 *  $request->weeknumber])
    ->get();

Надеюсь, это поможет вам

1 голос
/ 28 января 2020

Попробуйте SQL запрос:

SELECT *
FROM your_table
WHERE YEAR(CREATED_DATE) = 2020 AND WEEK(CREATED_DATE) = 5;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...