반응형
그래서 사용자 ID 배열이 있습니다. 레일스 콘솔에 배열로 이러한 모든 사용자를 쿼리하는 방법이 있습니까?
뭔가
ids = [1, 2, 3, 4]
users = User.find(ids)
4 명의 사용자를 모두 반환합니까?
해결 방법
배열의 경우 다음 중 하나를 사용할 수 있습니다.
# Will raise exception if any value not found
User.find( [1,3,5] )
# Will not raise an exception
User.find_all_by_id( [1,3,5] ) # Rails 3
User.where(id: [1,3,5]) # Rails 4
범위를 사용하는 경우 다음을 사용할 수 있습니다.
# Will raise exception if any value not found
User.find((1..4).to_a) #same as User.find([1,2,3,4])
# Will not raise an exception
User.find_all_by_id(1..4) # Rails 3
User.where(id: 1..4) # Rails 4
@ diego.greyrobot이 주석에서 언급했듯이 범위는 SQL BETWEEN 절을 발생시키는 반면 배열은 SQL IN 절을 발생시킵니다.
User.find_by_id ()
를 사용하지 마세요 -ID를 어떻게 전달하더라도 하나의 레코드 만 반환합니다.
참조 페이지 https://stackoverflow.com/questions/21435768
반응형
'MySql' 카테고리의 다른 글
MySQL PHPExcel 다운로드가 제대로 작동하지 않음 (0) | 2020.12.12 |
---|---|
MySQL 오류 파일 (0) | 2020.12.12 |
MySQL PHP MySql (1045) 사용자에 대한 액세스가 거부되었습니다. (0) | 2020.12.12 |
MySQL mysql-python 설치 (Windows) (0) | 2020.12.11 |
MySQL mysql_query가 아무것도 반환했는지 확인 (0) | 2020.12.11 |
댓글