thinkphp批量更新替換某個表中(zhōng)的鏈接
發布時間:2024-03-19
|
浏覽次數:2154次
描述
采用的思路是首先批量循環表得到數組,然後去(qù)循環數組,在循環的每一(yī)項當中(zhōng)使用str_replace替換得到新的鏈接,然後再去(qù)更新
詳情
在實際的開(kāi)發業務中(zhōng)經常會遇到需要更新舊(jiù)的鏈接,比如存儲的圖片舊(jiù)的鏈接失效,我(wǒ)們遷移到新的之後就需要替換成新的鏈接。亦或是将存儲的遠程圖片的http鏈接改換成https。以下(xià)代碼封裝,可以直接輸入表名和字段名進行替換,可以根據自己的業務進行調整
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 ]); } }