मैं एक डेटाबेस मॉडल है, इसलिएएक स्थायी इकाई के साथ डेटाबेस इकाई की आईडी कैसे प्राप्त करें?
import Database.Persist.TH (mkPersist, persistUpperCase,
share, sqlSettings)
share [mkPersist sqlSettings] [persistUpperCase|
Foo
field1 Int
field2 Bool
|]
की तरह लगातार उपयोग करते हुए और मैं डेटाबेस से एक वस्तु foo :: Foo
प्राप्त करने में सक्षम हूँ। मैं fooField1 foo :: Int
और fooField2 foo :: Bool
के साथ फ़ील्ड तक पहुंच सकता हूं। और क्योंकि मैं sqlSettings
का उपयोग करता हूं, मुझे पता है कि Int64
है- प्रत्येक इकाई के साथ संग्रहीत "आईडी" डेटाबेस कुंजी का प्रतिनिधित्व। जैसे जब मैं get . toSqlKey :: Int64 -> ...
मेरे foo :: Foo
को देखते हुए, मुझे id :: Int64
कैसे प्राप्त हो सकता है?
यदि मैं 'getBy' का उपयोग नहीं करता लेकिन उदा। एक एस्क्यूलेटो क्वेरी, मैं आमतौर पर 'entityVal' का उपयोग करता हूं और आईडी छोड़ देता हूं ... मैंने अभी ध्यान नहीं दिया। –
पूर्णता के लिए: 'सेक्लेकी। entityKey :: इकाई रिकॉर्ड -> डेटाबेस से पुनर्प्राप्त एक इकाई पर Int64' (उदा। 'इकाई foo') आईडी देता है। –