ActiveRecord SQL المخصص في روبي
-
16-09-2020 - |
سؤال
أحتاج إلى تنفيذ 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.كانت القيمة الوحيدة التي حصلت عليها [##u003CHeader> ] يمكن لأي شخص مساعدتي في إنشاء البيان الصحيح لروبي؟
يحرر:حقول الجدول
----------------------------------------------------------------------------------- | transaction_type | transaction_year | transaction_id | customer_id | uid | date | -----------------------------------------------------------------------------------
شكرًا لك.
المحلول
يمكنك الحصول على كائن رأس (الذي سيتم ملؤه مع معرف)، لذلك أعتقد في حالتك newid.id هل سيعطيك بالفعل المعرف الذي تبحث عنه، أو إذا كنت تريد مجموعة من هذه القيم القيام به:
giveacodicetagpre.hth
نصائح أخرى
ما الذي ستعود به من find
عبارة عن مجموعة من كائنات الرأس.
headers = Header.find_by_sql(...)
newid = headers.first.id
ربما أسأل نفسي لماذا أحتاج إلى id
رغم ذلك
لا تنتمي إلى StackOverflow