如何使用 laravel 更新 postgresql 数据库中的 json 数据?
Posted
技术标签:
【中文标题】如何使用 laravel 更新 postgresql 数据库中的 json 数据?【英文标题】:How to update json data in postgresql database using laravel? 【发布时间】:2020-04-07 14:55:52 【问题描述】:如何更改数据库中的下一个数据:
jsonData = ["given_date": "2 1.05. 2002 year"]
到
jsonData = ["given_date": "21.05.2002"]
【问题讨论】:
尝试用正则表达式替换日期值preg_replace('/\s|[a-zA-Z]/', '', '2 1.05. 2002 year');
对你有用吗?
【参考方案1】:
使用正则表达式更新 Postgresql:
UPDATE table
SET given_date = regexp_replace(given_date, '(\s|[a-zA-Z])', '','');
regexp_replace
取given_date
中的值,并根据第二个正则参数(匹配空格和字母)替换为第三个参数(空字符串)。第四个参数是option like 'g(global)', 'i(ignore case)';
Postgresql regexp_replace reference
使用正则表达式更新 Laravel:
\DB::table('tablename')
->where(...)
->update([
'given_date' => \DB::raw("regexp_replace(given_date, '(\s|[a-zA-Z])', '','')")
]);
【讨论】:
以上是关于如何使用 laravel 更新 postgresql 数据库中的 json 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Laravel 安装程序“laravel/installer”更新到最新版本?
如何在 laravel 5 中使用 Eloquent 更新数据透视表
如何使用 Laravel 框架更新 MySQL 中的 json 数据?