J'utilise la bibliothèque Sequel pour un projet personnel, et j'ai des problèmes avec les jointures en particulier. J'ai besoin de récupérer l'adresse complète d'un client, qui est composé de ville + quartier. L'adresse est divisée entre deux tables/modèles, Neighborhood
et City
.Puis-je exécuter une jointure à partir d'une suite Modèle?
Fondamentalement, j'ai les modèles suivants:
- client
- Ville
- Quartier
Mon modèle client est comme ceci:
class Customer < Sequel::Model
many_to_one :city
many_to_one :neighborhood
def complete_address
city = join(:city).select(:city__name)
neighborhood = join(:neighborhood).select(:neighborhood__name)
"#{city} - #{neighborhood}"
end
end
class City
one_to_many :customers
end
class Neighborhood
one_to_many :customers
end
Les relations sont fonctionne correctement w hen rejoindre comme Customer.join(:city)
et Customer.join(:neighborhood)
. Mais les mêmes jointures ne fonctionnent pas dans mon modèle.
Qu'est-ce que je fais mal?