Est-il possible d'ajouter une colonne virtuelle à un modèle (pas un attribut virtuel!)?Colonnes virtuelles dans un modèle
Je situation suivante: A Product(id, name)
a beaucoup ProductVariant(id, price, offer_price, product_id,...)
Lorsque je sélectionne tous les produits que je veux avoir le prix minimum du produit de tous ProductVariants
dans le résultat des produits.
@products = Product.with_min_price.order('min_price ASC')
Je calcule le prix minimum dans une requête SQL (with_min_price
) et que vous voulez ajouter cette valeur min_price
à chaque Product
dans mon @products result
.
Est-ce que cela devrait être 'def self.min_product_price' s'il s'agit d'une méthode de classe? –
oups, ce n'est pas une méthode de classe, c'est une méthode sur l'objet. J'ai mis à jour la réponse. Vous appelez simplement appel @ products.each {| p | p.min_product_price} ' – brycemcd
Merci. J'ai ajouté la méthode de classe à mon modèle. Cela fonctionne trouver – mm1