문제

아래 에서이 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에 가져 오는 것 같습니다.내가 가진 유일한 가치는 [# <헤더>] 누구나 루비에 대한 올바른 문을 만드는 데 도움이 될 수 있습니까?

편집 : 표 필드

-----------------------------------------------------------------------------------
| 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