원시 SQL을 사용하지 않고도 새 관계를 지정하는 모델 객체 목록을 만들고 싶습니다.select 쿼리에서 새 관계로 activerecord 객체 만들기
가정하자 나는이 다음 모델 :
class MealCombination < ActiveRecord::Base
belongs_to :drink
belongs_to :food
end
class Food < ActiveRecord::Base
has_many :meal_combinations
end
class Drink < ActiveRecord::Base
has_many :meal_combinations
end
나는 현재 데이터베이스에 존재하지 않는 MealCombination 개체의 목록을 작성하고 싶습니다.
select distinct DRINK.id, FOOD.id from FOOD, DRINK where DRINK.alchohol_volume > 5 and FOOD.spice_factor > 45;
이 선택에서 MealCombination
개체를 만들 수있는 가장 효율적인 방법은 무엇입니까 :
내 쿼리가 다음과 같이 보일 것 말?
원시 sql에서 반환 된 배열을 반복하면 비효율적 인 것처럼 보입니다. 개체를 데이터베이스에 유지하고 싶지 않습니다.
식사 조합 목록이 있으며 데이터베이스에 어떤 것이 있는지 알기를 원하십니까? 당신이 원하는 것을 이해하지 못했습니다. –
DB에서'food'와'drink'를 모두 선택하고 가능한 모든'meal_combinations'의리스트를 효율적으로 생성하기 위해 이들 ID를 사용하려고합니다. 그러나 당신은'meal_combination' 레코드를 유지하기를 원하지 않습니까? – DiegoSalazar
예. 그게 디에고 말이 맞아. meal_combinations는 데이터베이스에없는 새로운 관계입니다. – Andy