0
관계 속성에 의해 그룹 :액티브 : 나는이 개 모델이
Characteristic
name
Value
characteristic_id
name
과 가치 belongs_to
특성, 특성 has_many
값
내가 키와와 값으로 characteristics'names을 반환하는 쿼리를하고 싶습니다 이 특성에 관련된 값 이름 : I 조인 선택을 사용하여 많은 쿼리를 시도했지만이 작품을 만들 수 없습니다
{characteristic_1_name: [value_associated_1.name, value_associated_2.name], characteristic_2_name: [value_associated_3.name, value_associated_4.name]}
.
어떻게하면 루비의 방법 (느린지도 등)을 사용하지 않고도이 결과를 얻을 수 있습니까?
당신은 내가이 액티브와 달성 생각하지 않는다, arel_table 조회 PostgreSQL을
ActiveRecord::Base.connection.execute(
WITH characteristics_arr AS
(SELECT characteristics.name AS name,
array_agg(
values.id) AS arr
FROM CHARACTERISTICS
INNER JOIN
VALUES ON characteristics.id =
VALUES.characteristic_id
GROUP BY characteristics.name)
SELECT json_object_agg(name, arr)
FROM characteristics_arr
)
를 사용하는 경우 모든 입력이 훨씬 – user3033467