我在rails中使用postgresql匹配不完整和完整的記錄。這裏的匹配代碼:如何使用rails和postgresql將匹配記錄保存爲新記錄並更新user_id
QualifyingEvent.where("(class_date = :class_date AND course_id = :course_id)
OR (class_date = :class_date AND sponsor_name = :sponsor_name)
OR (course_id = :course_id AND sponsor_name = :sponsor_name)",
class_date: '2001-01-01',
course_id: 'A111',
sponsor_name: 'ICPAS').first
我要保存的匹配記錄的副本與CURRENT_USER的USER_ID。我目前正在使用一個複雜的解決方法,在其中設置一個變量,即abc = match,然後解析匹配,即user_id = abc.user_id,以便我可以用參數創建一個新的QualifyingEvent,例如, :class_date,:course_id,:sponsor_name和:user_id
我試過abc = QualifyingEvent.new,然後abc = match和abc.save。它沒有工作。
必須有一個更簡單的方法?!預先感謝您的幫助。
我閱讀文檔,並試圖以下內容: – user3763682
我讀取的文檔和試過如下: ABC = QualifyingEvent.new abc.assign_attributes( - 代碼如上-.attributes) 哪個工作。 id爲0,'nil'通過匹配具有不同id的兩條記錄返回。如果我然後嘗試重新分配的ID和保存記錄, abc.update(:id =>'nextval(qualifying_event_id_seq)') 我得到一個'重複鍵值違反唯一約束abc_pkey','細節:Key(id)=(0)已經存在。'那麼,如何將具有指定屬性的記錄保存爲具有正確順序的ID的新記錄。在我的情況下,它應該是51號?謝謝。 – user3763682
@ user3763682 created_at,updated_at和id應該在保存之前都設置爲零 – jamesc