Benutzerdefiniertes ActiveRecord-SQL in Ruby
-
16-09-2020 - |
Frage
Ich muss diese SQL unten ausführen, konnte aber das Ergebnis nicht erhalten.
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]}'"
)
Aber ich kann das Ergebnis anscheinend nicht an newid weitergeben.Der einzige Wert, den ich bekam, war [##u003CHeader> ] Jemand kann mir helfen, die richtige Aussage für Ruby zu erstellen?
BEARBEITEN:Tabellenfelder
----------------------------------------------------------------------------------- | transaction_type | transaction_year | transaction_id | customer_id | uid | date | -----------------------------------------------------------------------------------
Danke schön.
Lösung
Sie erhalten ein Header-Objekt (der mit einer ID bevölkert ist), so denke ich, in Ihrem Fall, in Ihrem Fall, in Ihrem Fall, in Ihrem Fall eigentlich die ID, nach der Sie suchen, oder wenn Sie ein Array dieser Werte ansehen:
generasacodicetagpre.hth
Andere Tipps
Was Sie davon zurückbekommen find
ist ein Array von Header-Objekten.
headers = Header.find_by_sql(...)
newid = headers.first.id
Ich frage mich vielleicht, warum ich das brauche id
obwohl
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow