thinkphp批量更新替换某个表中的链接
发布时间:2024-03-19
|
浏览次数:2249次
描述
采用的思路是首先批量循环表得到数组,然后去循环数组,在循环的每一项当中使用str_replace替换得到新的链接,然后再去更新
详情
在实际的开发业务中经常会遇到需要更新旧的链接,比如存储的图片旧的链接失效,我们迁移到新的之后就需要替换成新的链接。亦或是将存储的远程图片的http链接改换成https。以下代码封装,可以直接输入表名和字段名进行替换,可以根据自己的业务进行调整
public function table ($table_name,$field) { $list = Db::name($table_name) ->field('id,'.$field) ->select(); foreach ($list as $k => $v) { $host = str_replace('https://', 'http://', $v[$field]); Db::name($table_name) ->where('id',$v['id']) ->update([ $field => $host ]); } }