質問

以下の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]}'"
)
.

しかし私はNewIDに結果を得ることはできません。私が得た唯一の価値[#

] 誰でも私がRubyの正しい文を作成するのを助けることができますか?

編集:テーブルフィールド

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

ありがとうございました。

役に立ちましたか?

解決

ヘッダーオブジェクト(IDが入力されます)を取得しているので、NewID.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