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

时间:2018-10-16 15:00:32

标签: mysql laravel laravel-5

在确定如何格式化特定字段方面,我处在十字路口。

document标识符已更改其格式,因此,我试图找到查询数据库表的最佳方法(如果有的话)。

说我放入了一系列新格式的标识符,但是它们以旧方式存储在数据库中。

我会输入

31120313
31146631
31256061

但是在数据库中,当前看起来像

3112031-3
3114663-1
3125606-1

我乐于接受建议,因为它令人不快,以前我还没有提出过类似的需求。

谢谢

1 个答案:

答案 0 :(得分:0)

假设您有一个Document模型,则可以使用存在where()方法的记录,该方法基于更改后的值来复制先前的标识符:

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

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

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