将日期与laravel中mysql json数组的每个值进行比较
Posted
技术标签:
【中文标题】将日期与laravel中mysql json数组的每个值进行比较【英文标题】:Compare date with each value of mysql json array in laravel 【发布时间】:2021-01-11 10:54:58 【问题描述】:mysql 5.7
Mysql JSON 数组包含 TABLE 的 specific_dates
字段中的日期列表,如下所示:
我想将以上所有日期与给定日期进行比较(>=)。我在 laravel 中尝试了以下查询,但没有工作。
->whereRaw('JSON_EXTRACT(`specific_dates`, "$[*]") >= ?', $value);
在这里,$value
将是 yyyy-mm-dd
格式。 e.g. 2020-04-02
.
如果$value
等于或小于 JSON 数组的任何值,它应该返回。
谢谢
【问题讨论】:
提供一些代码和json 没有比上面给出的代码更多的了。你想要哪个代码/json? 我遇到了完全相同的问题,您找到解决方案了吗? 【参考方案1】:试试这个。可能对你有帮助。
->where(function ($query) use($value)
$query->whereRaw("find_in_set('" . $value . "',specific_dates)");
);
【讨论】:
不工作,我想将更大/更少 (>= 或 $value 进行比较。以上是关于将日期与laravel中mysql json数组的每个值进行比较的主要内容,如果未能解决你的问题,请参考以下文章
ErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL