laravel 过滤JSON字段中的日期- Eloquent

vwoqyblh  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(149)

让我们看一下这个屏幕截图:

我有一个“日期”字段,这是一个JSON字段,数组在雄辩的模型铸造。
因此,我想过滤比该字段中列出的日期更早或更晚的行。我尝试过类似这样的操作,但它返回空集合:

$q->where('dates->day', '>=', Carbon::now()->format('Y-m-d'));

有什么主意吗?谢谢!

e4eetjau

e4eetjau1#

检查日期-〉天格式
“日期”:{“天”:“二○二○年十二月十二日”}

gstyhher

gstyhher2#

这对我很有效(不过我的JSON没有封装在数组中)。

$query->whereRaw('str_to_date(json_unquote(json_extract(dates, \'$.date\')), \'%Y-%m-%d\') >= str_to_date(\'' . Carbon::now()->format('Y-m-d') . '\', \'%Y-%m-%d\')');

相关问题