2013-08-03 4 views
1

사용자 ID가 확인 된 Realties 만 쿼리하면됩니다. 나는 인증을위한 보석」을 책정 "사용하고, 나의 질의는 다음과 같습니다 : 나는 => []를 얻을연관 필드 값으로 쿼리 할 수 ​​없습니다.

@search = Realty.includes(:user).where("users.confirmed_at != ?", nil) 

결과, 그러나 많은 Realties 기록 곳 user.confirmed? => true이있다. 콘솔에서 두 번 확인했습니다.

협회 구조는 다음과 같습니다 : 내가 실수를 어디에

class Realty 
    belongs_to :user 
..... 
class User 
    has_many :realties 
..... 

도와 또는 알려주세요 ?? 감사합니다.

답변

2
@search = Realty.includes(:user).where("users.confirmed_at IS NOT NULL") 

SQL 문에 !=을 사용할 수 없습니다.

값뿐만 아니라 비어 있지 않은 경우 당신이 확인하고 싶은 경우에, 당신은

@search = Realty.includes(:user).where("users.confirmed_at <> ''") 

그것이 users.confirmed_atnullempty도 아닌 결과를 반환 할 수 있습니다.

+0

감사합니다. 루이스,이 답변입니다. –

+0

이 쿼리를 주문할 수 있습니까? .order ("created_at DESC")'가 있는데,'PG :: Error : ERROR : column reference "라는 오류가 발생했습니다. created_at"ambiguous " –

+1

'.order ("users.created_at DESC")' –

관련 문제