gpt4 book ai didi

ruby-on-rails - 如何基于正则表达式执行事件记录搜索

转载 作者:行者123 更新时间:2023-12-04 07:28:30 26 4
gpt4 key购买 nike

我有一个标准 User我的 Rails 应用程序中的模型。完成名字、姓氏、电子邮件等。我正在尝试搜索满足特定条件的所有用户。

我知道我可以搜索特定的电子邮件地址,如下所示:

User.find_by_email('john@smith.com')

但是假设我想找到所有拥有 Gmail 地址的用户(例如)。理想情况下,这将通过以下方式完成:
User.find_by_email(/.*@gmail.com/)

但这不起作用。它给了我一个 TypeError: Cannot visit Regexp .如何执行此事件记录搜索?

最佳答案

.find(_by)只返回第一个匹配项。由于您要查找具有 Gmail 地址的所有用户,因此您需要使用 .where .

您可以轻松地将查询与一些正则表达式结合起来:

用Mysql , 使用 REGEXP

User.where("email REGEXP ?", '.*@gmail.com')

使用 Postgres , 使用 regexp_matches :
User.where("regexp_matches(email, ?)", '.*@gmail.com')

关于ruby-on-rails - 如何基于正则表达式执行事件记录搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420108/

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