그래서 my/config/models는 다음과 같이 보입니다. Persistent Yesod에서 many-to-many를 수행하는 가장 좋은 방법은 무엇입니까?
Person
name Text
Car
name Text
PersonCar
personId PersionId eq
carId CarId eq
UniquePersonCar personId carId
데이터베이스에 입력 각각
Person "Superman"
Car "SUV"
Car "Ford"
Person "Batman"
를 가정하자.
현재 처리기에서 연결하려면이 작업을 수행하고 있습니다.
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, PersonCar 대신 PesonCar). –