我有一个小问题。我正在寻找一种将列“添加”到 sql 查询的方法。
实际上我用这个顺序从一个表中排序了一些产品:
@prod = Table.find(:all,{:select=>["id, prod-id, cost"],:conditions=>["something = ? and somethingelse = ?","that thing","that other东西"],:order=>"id DESC"})
然后我将这个查询的结果放入一个表格 (html) 中,并使用一个表格将产品添加到购物车中。
现在问题来了。在我的购物车中,产品是这样的:
购物车:#<购物车:0x00000005ce0a68 @items=[[#<Table id:6024,prod-id:907509,成本:33>]]>
我需要在我的购物车中的数据中添加一个“列”。像这样得到我的购物车:
cart: #<Cart:0x00000005ce0a68 @items=[[#<Table id: 6024, prod-id: 907509, cost: 33, 数量: 1>]]>
这是我的购物车:
类购物车 attr_reader :项目 定义初始化 @项目 = [] @total_price = 0 结尾 def add_product(产品) @项目 << 产品 产品 结尾 def total_price @items.sum{ |项目| item.prod_pxuttc} 结尾 def total_items @items.length 结尾 结尾
我不需要在我的表中添加任何列。因为我必须将另一个源数据库中的数据导入到我的表中,并且我无法更改源数据库。(是的,这是一个愚蠢的过程,但这就是我的客户想要的)
我完全不知道如何为我需要做的过程命名。
[编辑]
我找到了解决问题的方法。通过创建第二个表,具有相同的列和列数量,默认为空行。然后我从第一个表中选择我的产品,从第二个表中选择默认行,并将产品中的值放入默认行的变量中。然后我把我的新变量放入我的购物车。
这有点棘手,但它有效。