[RUBY-ON-RAILS] 쿼리 열 수를 선택할 수 없습니다
RUBY-ON-RAILS쿼리 열 수를 선택할 수 없습니다
Tag.joins(:quote_tags).group('quote_tags.tag_id').order('count desc').select('count(tags.id) AS count, tags.id, tags.name')
Build query:
SELECT count(tags.id) AS count, tags.id, tags.name FROM `tags` INNER JOIN `quote_tags` ON `quote_tags`.`tag_id` = `tags`.`id` GROUP BY quote_tags.tag_id ORDER BY count desc
결과:
[#<Tag id: 401, name: "different">, ... , #<Tag id: 4, name: "family">]
그것은 나를 위해 카운트 열을 반환하지. 어떻게 그것을 얻을 수 있나요?
해결법
-
==============================
1.당신은 반환 태그 개체 중 하나에 대한 계산 방법을 호출 시도? 그냥 때문에이없는 것을 의미하지 않는다 수를 언급하지 않는 검사합니다. 출력을 검사 :
당신은 반환 태그 개체 중 하나에 대한 계산 방법을 호출 시도? 그냥 때문에이없는 것을 의미하지 않는다 수를 언급하지 않는 검사합니다. 출력을 검사 :
[#<Tag id: 401, name: "different">, ... , #<Tag id: 4, name: "family">]
태그 클래스에 대해 알고 태그는 태그 테이블의 컬럼에 대해 알아야 할 것들만을 포함합니다 : 그것은 당신이 보는 모든 그래서 당신은 단지 테이블의 ID와 이름을 가지고있다.
이 작업을 수행하는 경우 :
tags = Tag.joins(:quote_tags).group('quote_tags.tag_id').order('count desc').select('count(tags.id) AS count, tags.id, tags.name')
다음 카운트를 보면 :
tags.map(&:count)
당신은 당신이 기대하고 있다는 카운트의 배열을 볼 수 있습니다.
-
==============================
2.업데이트 :이 답변의 원본 버전은 실수로 선택 특징 및 후속 버전 효과적으로 @muistooshort에서 다른 대답의 현재 버전을 반복 끝났다. 이 원시 SQL을 사용하는 방법에 대한 정보를 가지고 있기 때문에 현재 상태 년대에 나는 그것을 떠날거야. 덕분에 내 오류를 지적하기위한 @muistooshort합니다.
업데이트 :이 답변의 원본 버전은 실수로 선택 특징 및 후속 버전 효과적으로 @muistooshort에서 다른 대답의 현재 버전을 반복 끝났다. 이 원시 SQL을 사용하는 방법에 대한 정보를 가지고 있기 때문에 현재 상태 년대에 나는 그것을 떠날거야. 덕분에 내 오류를 지적하기위한 @muistooshort합니다.
쿼리에 다른 대답에 의해 설명 된 바와 같이 일하는 사실이지만, 당신은 항상 대안으로 원시 SQL을 실행할 수 있습니다.
거기 당신이 선택할 수있는 선택 _... 다양한 방법이있다,하지만 난 당신이 SELECT_ALL을 사용하고자하는 거라고 생각합니다. 당신이 암시 적으로 생성하는 빌드 조회를 정정 한 가정하면, 그냥 같은 것을 사용할 수 있습니다 :
ActiveRecord::Base.connection.select_all(' SELECT count(tags.id) AS count, tags.id, tags.name FROM `tags` INNER JOIN `quote_tags` ON `quote_tags`.`tag_id` = `tags`.`id` GROUP BY quote_tags.tag_id ORDER BY count desc')
당신이 선택할 수있는 다양한 방법에 대한 자세한 내용은 http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html를 참조하십시오.
from https://stackoverflow.com/questions/18350632/query-can-not-select-column-count by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일 다음 respond_to 블록 작업을 수행하는 방법? (0) | 2020.02.12 |
---|---|
[RUBY-ON-RAILS] 레일에서 참조 열 이동을 추가 4 (0) | 2020.02.12 |
[RUBY-ON-RAILS] 액티브의 진수 대 플로트 (0) | 2020.02.12 |
[RUBY-ON-RAILS] 3 sqlite3를 부울 거짓 레일 (0) | 2020.02.12 |
[RUBY-ON-RAILS] 어떻게는 변수와 유지 mixin 말대꾸 스타일 시트에서 가져올 수 있습니다? (0) | 2020.02.12 |