나는 사용자 모델을 가지고이레일 액티브 쿼리 모호한 열 이름 오류
SELECT DISTINCT u.id FROM users as u
LEFT JOIN lists_users as lu ON lu.user_id = u.id
WHERE u.id != 3
AND lu.list_id != 34
내가
scope :include_current_user, lambda { |user, list|
joins('LEFT JOIN lists_users AS lu ON lu.user_id = id')
.where('id != :user_id AND lu.list_id != :list_id', user_id: user.id, list_id: list.id)
}
을 시도하지만 오류
을 가지고있는 것처럼 나는, 쿼리를 작성해야SQLite3::SQLException: ambiguous column name: id: SELECT "users".* FROM "users" LEFT JOIN lists_users AS lu ON lu.user_id = id WHERE (id != 2 AND lu.list_id != 34)
ActiveRecord 쿼리를 사용하여이를 만드는 방법은 무엇입니까?
모호성을 피하기 위해'users.id'를 지정할 필요가 없습니까? –
이 SQL 예제에서 특정 사용자 아이디가 필요합니다. 사용자 ID = 3을 제외하고 테이블 lists_users에 대해 lu.list_id를 제외하고이 테이블에는 별칭 lu가 있습니다 –
예제 에서처럼 생성 된 쿼리를 활성화하는 방법 –