2014-11-17 3 views
0

나는 계정 집합을 갖고 있으며, 쿼리의 NOT IN 연산에서 사용할 수 있도록 모든 ID를 arry에 수집하려고합니다. 어떤 도움을 주시면 감사하겠습니다.배열의 계정 ID 수집

@alreadyonteam = @team.accounts.collect { || . } 

내 쿼리 :

@friends = Account.find(current_account.id).active_friends.where('id not in (?)',@alreadyonteam).search(params[:search]) 
+3

'@alreadyonteam = @ team.account_ids' 그리고 그건 그것. – blelump

+0

감사합니다! 그것은 – MMrj

+0

@blelump를 해결했습니다. – tadman

답변

2

사용 pluck

@alreadyonteam = @team.accounts.pluck(:id) 

레일의 최근 버전도 소개 ids

@alreadyonteam = @team.accounts.ids 
+0

'ids' 메소드에 대해 알지 못했습니다. 그게 4.1인가요? – tadman

+1

@ tadman 그것은 4.0 기능입니다. [이 커밋] (https://github.com/rails/rails/commit/93076168c4d2209e007a32abc7142cc23782d56a)을 참조하십시오. –