سؤال

أحتاج إلى تنفيذ 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 رغم ذلك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top