Проекты в Городе, Города в Стране. Как найти все Страны в которых есть проекты?

Помогите разобраться со связями.

Описал модели таким образом:

class Project
	include DataMapper::Resource
		
	property :id, String, :key => true
		
	has n, :cities, :through => Resource
	
	# вот тут что-то не то
	has n, :countries, 'Country', :through => :cities, :via => :country
end

class City
	include DataMapper::Resource
		
	property :id, String, :key => true
		
	belongs_to :country
		
	has n, :projects, :through => Resource
end
	
class Country
	include DataMapper::Resource
		
	property :id, String, :key => true
				
	has n, :cities
		
	has n, :projects, 'Project', :through => :cities, :via => :projects
end


В итоге получилось так:
# все города в стране
Country.get('ru').cities

# все проекты в стране
Country.get('ru').projects

# все проекты в городе
City.get('sochi').projects

# все города, в которых есть проекты
Project.all.cities

# все страны, в которых есть этот проект
Project.get('forletter').countries

# вот тут суть вопроса
# все страны, в которых есть проекты
Project.all.cities.country


Чтобы получить все страны, в которых есть проекты необходимо делать так
Project.all.cities.country

А хотелось бы делать так, но это возвращает пустой массив =\
Project.all.countries

Помогите реализовать мою хотелку
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
Able1991
@Able1991
Пишу на рельсах
Project.countries не пробовал?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы