is ambiguous' 在 ActiveRecord 中通过电子邮件搜索-6ren"> is ambiguous' 在 ActiveRecord 中通过电子邮件搜索-使用 rails 3.2.6。 # 1 letter domain name in email without scope > Member.where('UPPER(email) LIKE UPPE-6ren">
gpt4 book ai didi

ruby-on-rails - 使用命名范围 " is ambiguous' 在 ActiveRecord 中通过电子邮件搜索

转载 作者:行者123 更新时间:2023-12-02 22:35:33 25 4
gpt4 key购买 nike

使用 rails 3.2.6。

# 1 letter domain name in email without scope
> Member.where('UPPER(email) LIKE UPPER(?)' , "a@b.com")
Member Load (0.7ms) SELECT "members".* FROM "members" WHERE (UPPER(email) LIKE UPPER('a@b.com'))
=> []


# 2 letter domain name in email without scope
> Member.where('UPPER(email) LIKE UPPER(?)' , "a@bc.com")
Member Load (0.7ms) SELECT "members".* FROM "members" WHERE (UPPER(email) LIKE UPPER('a@bc.com'))
=> []

# 1 letter domain name in email with scope
> Member.with_households.where('UPPER(email) LIKE UPPER(?)' , "a@b.com")
Member Load (0.7ms) SELECT "members".* FROM "members" WHERE (UPPER(email) LIKE UPPER('a@b.com'))
=> []

# 2 letter domain name in email with scope
> Member.with_households.where('UPPER(email) LIKE UPPER(?)' , "a@bs.com")
SQL (0.6ms) SELECT "members"."id" AS t0_r0, "members"."last_name" AS t0_r1, "members"."first_name" AS t0_r2, "members"."household_id" AS t0_r3, "members"."created_at" AS t0_r4, "members"."updated_at" AS t0_r5, "members"."phone1" AS t0_r6, "members"."phone2" AS t0_r
7, "members"."address1" AS t0_r8, "members"."address2" AS t0_r9, "members"."city" AS t0_r10, "members"."state" AS t0_r11, "members"."zip" AS t0_r12, "members"."notes" AS t0_r13, "members"."active" AS t0_r14, "members"."email" AS t0_r15, "households"."id" AS t1_r0, "ho
useholds"."balance" AS t1_r1, "households"."created_at" AS t1_r2, "households"."updated_at" AS t1_r3, "households"."notes" AS t1_r4, "members_households"."id" AS t2_r0, "members_households"."last_name" AS t2_r1, "members_households"."first_name" AS t2_r2, "members_hou
seholds"."household_id" AS t2_r3, "members_households"."created_at" AS t2_r4, "members_households"."updated_at" AS t2_r5, "members_households"."phone1" AS t2_r6, "members_households"."phone2" AS t2_r7, "members_households"."address1" AS t2_r8, "members_households"."ad
dress2" AS t2_r9, "members_households"."city" AS t2_r10, "members_households"."state" AS t2_r11, "members_households"."zip" AS t2_r12, "members_households"."notes" AS t2_r13, "members_households"."active" AS t2_r14, "members_households"."email" AS t2_r15 FROM "members
" LEFT OUTER JOIN "households" ON "households"."id" = "members"."household_id" LEFT OUTER JOIN "members" "members_households" ON "members_households"."household_id" = "households"."id" WHERE (UPPER(email) LIKE UPPER('a@bs.com'))
ActiveRecord::StatementInvalid: PGError: ERROR: column reference "email" is ambiguous
LINE 1: ..."."household_id" = "households"."id" WHERE (UPPER(email) LIK...

这是错误:

ActiveRecord::StatementInvalid: PGError: ERROR:  column reference "email" is ambiguous

一个家庭有_很多成员。

这是 with_households 范围定义:

scope :with_households, :include => [{:household => :members}]

电子邮件域长度可能是一个转移注意力的问题,但我无法重现错误。 为什么 Arel 在这种情况下要进行大量连接?

最佳答案

尝试

Member.with_households.where('UPPER(members.email) LIKE UPPER(?)' , "a@bs.com")

关于ruby-on-rails - 使用命名范围 "<field> is ambiguous' 在 ActiveRecord 中通过电子邮件搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505750/

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