我接手了一个项目,他们将 date_start
值存储在 JSON 列中。
(例如,id、name、some_column、meta)
meta 中的值为 { propert1, property2, property3, "date_start": "2021-09-26", 等等...}
现在,在前端,我必须做一个搜索功能,我在其中选择一个日期。
现在在后端,因为 date_start
的值已经存储在一个 json 列中,我假设我需要先获取所有记录,遍历它们然后解码元
字段。
总体来说是不是很糟糕?还是有其他办法?
最佳答案
现代版本的数据库通常支持 JSON 列类型。可以使用 SQL 查询这些 json 列。
users
表中的 preferences
列:
{"dining": {"meal": "salad", "time": "20:00"}}
查询:
$users = DB::table('users')
->where('preferences->dining->meal', 'salad')
->get();
在 JSON Where clauses 上查看 Laravel 文档:
关于Laravel Eloquent 地从 json 列的值中过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69336034/