Laravel, Eloquent. Вывести из таблицы записи с определенным ключом (датой)

Имеется база данных с датой, которая в формате 11/2020 (месяц/год). Мне необходимо выводить данные скажем от 09/2020 по 03/2022. Каким способом это можно реализовать? Eloquent отдельно, без Laravel. В другой формат даты переделать невозможно.


Ответы (1 шт):

Автор решения: Yauhen Kib

Например так:

$start = '12/2020';
$end = '03/2022';

Model::whereIn('date', datesArray($start, $end))->get();

function datesArray($start, $end): array
{
    $startDate = \Carbon\Carbon::parse(str_replace('/', '.', "01/$start"));
    $endDate = \Carbon\Carbon::parse(str_replace('/', '.', "01/$end"));

    $datesArray = [];
    for($startDate, $endDate; $startDate->lessThanOrEqualTo($endDate); $startDate->addMonth()) {
        $format = $startDate->format('m/Y');
        array_push($datesArray, $format);
    }
    return $datesArray;
}
→ Ссылка