我需要在下面执行这些SQL,但我无法达到结果。

newid=Header.find_by_sql(
  "SELECT coalesce(max(transaction_id),0)+1 AS id 
  FROM transaction_headers 
  WHERE transaction_year = #{Time.now.year} AND 
  transaction_type='#{fields[:transaction_type]}'"
)
.

但我似乎无法让结果达到新的。我得到的唯一值是[#

] 任何人都可以帮助我为Ruby创建正确的陈述?

编辑:表字段

-----------------------------------------------------------------------------------
| transaction_type | transaction_year | transaction_id | customer_id | uid | date |
-----------------------------------------------------------------------------------
.

谢谢。

有帮助吗?

解决方案

您正在获取标题对象(将用ID填充),所以我认为在您的情况下,我会在您的情况下展示您正在寻找的ID,或者如果您想要其中的数组这些值:

headers = Header.find_by_sql(...)
header_ids = headers.collect(&:id)
.

hth

其他提示

find返回的是标题对象数组。

headers = Header.find_by_sql(...)
newid = headers.first.id
.

我可能会问自己为什么我需要id

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top