过滤非数字字符时查询字段-laravel

bis0qfac  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(285)

在决定如何格式化特定字段时,我正处于十字路口。
document 标识符已经改变了它的格式,所以我试图找到查询数据库表的最佳方法(如果有的话)。
假设我放入一个新格式化的标识符数组,但它们在数据库中以旧方式存储。
我会输入

31120313
31146631
31256061

但在数据库里,现在看起来

3112031-3
3114663-1
3125606-1

我愿意接受建议,因为这是相当恼人的,我还没有想出像这样的东西需要之前。
谢谢

izkcnapc

izkcnapc1#

假设你有一个 Document 模型,你可以在那里使用 where() 基于更改的值来复制上一个标识符的记录的方法:

$value = substr_replace($str, '-', -1, 0);

Document::where('indentifier', $value)->first();

在这里,我们使用 substr_replace 在最后一个字符前插入连字符以根据旧标识符查找记录。

相关问题