तो मेरा/config/मॉडल इस तरह दिखता है।पर्सिस्टेंट यसोड में कई से ज्यादा करने का सबसे अच्छा तरीका क्या है?
Person
name Text
Car
name Text
PersonCar
personId PersionId eq
carId CarId eq
UniquePersonCar personId carId
मान लें डेटाबेस में आदानों क्रमशः Person "Batman"
Person "Superman"
Car "SUV"
Car "Ford"
हैं।
मैं वर्तमान में इसे अपने हैंडलर में जोड़ने के लिए कर रहा हूं।
runDB $ do
person <- selectFirst [PersonName ==. "Batman"] []
car <- selectFirst [Carname ==. "SUV"] []
let Entity personId _ = case person of
Just info -> infor
Nothing -> error "no such Person"
let Entity carId _ = case car of
Just info -> infor
Nothing -> error "no such Car"
_ <- insert $ PersonCar personId carId
क्या ऐसा करने का कोई आसान तरीका है? क्या ऐसी अभिव्यक्ति करने के लिए कोई सम्मेलन है?
मैं एक हैंडलर के तहत यह कर रहा हूँ, यह मुझे त्रुटि पार्स दे रहा है किसी भी विचार:
यह कम है? 'postFromR :: हैंडलर RepHtml postFormR = कर FormSuccess रेस की मामले परिणाम -> _ <- runDB $ डालने $ PersonCar persionId carId _ -> $ (logError)" त्रुटि "' – HHC
@HHC, मैं जोड़ लिया है एक सम्मिलित रेखा के चारों ओर ब्लॉक करें, जिसके बाद बाद में एक वापसी अभिव्यक्ति की आवश्यकता होती है। एक yesod स्थापना के साथ परीक्षण, कोड फिर से पकड़ो। अपने मॉडल नामों की जांच करें (PersonId के बजाय PesionId, PesonCar बजाय PersonCar) –