模型中的虚拟柱
是否可以向模型添加虚拟列(不是虚拟属性!)?
我有以下情况: Product(id, name)
有许多 ProductVariant(id,price, Offer_price,product_id,...)
当我选择所有产品时,我希望获得最低产品价格来自产品结果中的所有 ProductVariants
。
@products = Product.with_min_price.order('min_price ASC')
我在 SQL 查询 (with_min_price
) 中计算最低价格,并希望将此 min_price
值添加到我的 @products 中的每个
。Product
结果
Is it possible to add a virtual column to a model (not virtual attribute!)?
I have following situation:
A Product(id, name)
has many ProductVariant(id, price, offer_price, product_id,...)
When I select all products I want to have the minimum product price from all ProductVariants
in the products result.
@products = Product.with_min_price.order('min_price ASC')
I calculate the minimum price in a sql query (with_min_price
) and want to add this min_price
value to each Product
in my @products result
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可能只是您的 Product 类中的一个方法,假设您的 Product has_many ProductVarients
This could just be a method in your Product class assuming your Product has_many ProductVarients
您可以使用自定义选择来执行此操作,但该列将是只读的:
您还可以像在查找的任何其他部分或 Rails 3 等效项中使用 SQL 中的计算列一样使用新列。
You can do this with a custom select, though the column will be read-only:
You can also use the new column as you would a calculated column in SQL in any of the other parts of a find or the Rails 3 equivalents.