Laravel версия 6.18.15
Я пытаюсь запросить поле JSON, содержащее массив значений. Например, в таблице «Расписание» у меня есть такая запись со столбцом «время»:
[
[
{
"end_time": "11:30 PM",
"start_time": "06:27 PM"
},
{
"end_time": null,
"start_time": null
}
],
[
{
"end_time": "11:56 PM",
"start_time": "6:27 PM"
},
{
"end_time": null,
"start_time": null
}
],
[
{
"end_time": "9:31 PM",
"start_time": "6:31 PM"
},
{
"end_time": "9:31 PM",
"start_time": "6:31 PM"
}
],
[
{
"end_time": "06:00 PM",
"start_time": "10:50 AM"
},
{
"end_time": null,
"start_time": null
}
],
[
{
"end_time": "11:00 AM",
"start_time": "06:00 PM"
},
{
"end_time": null,
"start_time": null
}
],
[
{
"end_time": null,
"start_time": null
},
{
"end_time": null,
"start_time": null
}
],
[
{
"end_time": null,
"start_time": null
},
{
"end_time": null,
"start_time": null
}
]
]
Я хочу сделать запрос по индексу случайного массива. Я пробовал использовать приведенный ниже пример, но не повезло
Timetable::whereJsonContains('time->[0]->start_time', '06:27 PM')->get(); // 0 is array index
Timetable::whereRaw('JSON_CONTAINS(time->"$[0].start_time", "06:27 PM")')->get()
на самом деле я хочу запустить запрос и проверить до 5 минут текущего времени. Пример текущего времени 06:27 PM
до 5 минут. Я хочу проверить такой запрос
Timetable::whereJsonContains('time->[0]->start_time', '>=', Carbon::now()->subMinutes(5))->get();
Любая помощь буду признателен