#php #mysql #json #laravel
#php #mysql #json #laravel
Вопрос:
Mysql 5.7
Массив Mysql JSON содержит список дат в specific_dates
поле ТАБЛИЦЫ, как указано ниже:
Я хочу сравнить (>=) все указанные выше даты с заданной датой. Я пробовал следующий запрос в laravel, но не работает.
->whereRaw('JSON_EXTRACT(`specific_dates`, "$[*]") >= ?', $value);
Здесь $value
будет yyyy-mm-dd
формат. e.g. 2020-04-02
.
Оно должно возвращаться, если $value
равно или меньше любого значения массива JSON. Спасибо
Комментарии:
1. предоставьте некоторый код и json
2. там нет ничего, кроме приведенного выше кода. какой код / json вы хотите?
3. Я застрял с точно такой же проблемой, вы нашли решение?
Ответ №1:
Попробуйте это. Это может вам помочь.
->where(function ($query) use($value) {
$query->whereRaw("find_in_set('" . $value . "',specific_dates)");
});
Комментарии:
1. Не работает, bcs, с которым я хочу сравнить большее / меньшее (>= ИЛИ <=)
$value
.