如何使用 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_replacegiven_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”更新到最新版本?

Composer/Laravel:如何添加/更新特定的包

如何在 laravel 5 中使用 Eloquent 更新数据透视表

如何使用 Laravel 框架更新 MySQL 中的 json 数据?

如何使用 jQuery-Tabledit 和 Laravel 更新表格行

Postgresq9.6主从部署