gpt4 book ai didi

php - Laravel Eloquent 在哪里替换和比较

转载 作者:行者123 更新时间:2023-12-02 17:03:24 26 4
gpt4 key购买 nike

我在 users 表中有一个 phone number 列。电话号码有不同的格式:

  • 123-456-7890

  • (123) 456 7890

    等...

我想通过删除多余的字符进行比较并检索结果。

这是mysql查询:

SELECT * FROM users WHERE REPLACE(REPLACE(REPLACE(`phonenumber`, '-', ''), '(', ''), ')', '') = '1234567890'

我如何在 Laravel Eloquent 中做到这一点?

我知道最好的选择是在 DB 列上强制格式化。我想知道我们是否可以使用 Laravel Eloquent 来做到这一点。

最佳答案

它不会与数据库无关,但是:

$query->whereRaw('REPLACE(REPLACE(REPLACE(`phonenumber`, '-', ''), '(', ''), ')', '') = ?', [$phoneNumber]);

请参阅 https://laravel.com/docs/5.7/queries#raw-expressions 上的原始方法


更好的方法是在将数字插入数据库之前删除这些字符。

关于php - Laravel Eloquent 在哪里替换和比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52915924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com