我正在使用 Laravel 4 命令创建数据库迁移脚本。
所有数据库迁移过程都很好,但我在更改用户前缀时遇到了问题:我需要将 USER-JOHN-JB 更改为 USER-JOHN-OD,所有用户后缀都需要从 '-JB' 更改为'-OD'。
我当前的代码行是:
DB::table('users')->update(['username' => DB::raw("REPLACE(username, '-".$suffix."', '-".$thisSuffix."')")]);
如果我在 REPL 中运行这段代码,它可以正常工作,但它在命令中不起作用。
查看生成的 SQL 查询的日志:
update `users` set `username` = REPLACE(username, "-JB
", "-OD")
由于某种原因,一个换行符被插入到查询中。我不确定这是否与问题有关。
有人知道怎么解决吗? 非常感谢任何帮助。
提前致谢。
最佳答案
正如 Ben Harold 所指出的,问题来自包含换行符的 $suffix。添加 trim() 解决了这个问题。
关于mysql - Laravel Eloquent 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29803476/