【问题标题】:How to add a non-existant column to a sql query如何将不存在的列添加到 sql 查询
【发布时间】:2012-06-20 04:56:05
【问题描述】:

我有一个小问题。我正在寻找一种将列“添加”到 sql 查询的方法。

实际上我用这个顺序从表中排序了一些产品:

@prod = Table.find(:all,{:select=>["id, prod-id, cost"],:conditions=>["something = ? and somethingelse = ?","that thing","that other东西"],:order=>"id DESC"})

然后我将这个查询的结果放入一个表格 (html) 中,并带有一个表格以将产品添加到购物车中。

问题来了。在我的购物车中,产品是这样的:

购物车:#]]>

我需要在我的购物车中的数据中添加一个“列”。像这样获得我的购物车:

cart: #<0x00000005ce0a68 id: prod-id: cost:>


标签: ruby-on-rails ruby cart


【解决方案1】:

也许将购物车定义为以下将解决问题。

class Product
  attr_accessor quantity
end

class Cart
  ...
end

【讨论】:

  • 我需要将 Quantity 列添加到我的购物车,而不将列添加到表中。就是这样。 (购物车不在表格中,它是一个会话存储模型)
  • 但是@item 的类型是产品。我认为 Product 是桌子的模型。您可以在产品中添加数量列吗?
  • 有点复杂。我必须保持现在的表,因为我必须从另一个数据库将数据导入表中。而这个其他数据库将没有新列,我无法将此新列添加到源数据库。这就是为什么我需要在不向我的表中添加任何列的情况下这样做。
  • 我想到了两种方法。也许它们就是答案。
  • 我认为答案是当我将产品放入购物车时。这是我放入购物车的内容:product = Table.find(:first,{:select=&gt;["id, prod-id, cost"],:conditions=&gt;["id = ?","#{params[:prod_to_add]}"],:order=&gt;"prod-id DESC"})。然后我做@cart.add_product(product)@items &lt;&lt; product 我不知道如何为这个过程赋予“:数量 => 1”。
猜你喜欢
  • 1970-01-01
  • 2018-09-07
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
相关资源
最近更新 更多