You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中查找表name列以john开头的内容并替换为smith

Laravel 批量替换更新数据库表name列内容

需求:将表中name列所有以john开头的字符串,替换开头的john为smith,例如john_items.3更新为smith_items.3。

实现方法

方法一:使用DB门面直接操作

DB::table('你的表名')
    ->where('name', 'like', 'john%')
    ->update([
        'name' => DB::raw("CONCAT('smith', SUBSTRING(name, LENGTH('john') + 1))")
    ]);

方法二:使用Eloquent模型操作(假设对应模型为YourModel)

YourModel::where('name', 'like', 'john%')
    ->update([
        'name' => DB::raw("CONCAT('smith', SUBSTRING(name, LENGTH('john') + 1))")
    ]);

注意事项

  • 执行更新前,建议先查询确认目标记录是否正确,避免误操作:
// 查询待更新的记录
$targetRecords = DB::table('你的表名')->where('name', 'like', 'john%')->get();
  • 该逻辑适用于替换固定前缀的场景,SUBSTRING(name, LENGTH('john') + 1)会截取john之后的所有字符,再与smith拼接得到新值。

内容的提问来源于stack exchange,提问作者kamran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:20:26