Tak więc moje/config/modele wyglądają tak.Jaki jest najlepszy sposób robienia wielu w wielu w trwałym Yesod?
Person
name Text
Car
name Text
PersonCar
personId PersionId eq
carId CarId eq
UniquePersonCar personId carId
Załóżmy wejścia w bazie danych są Person "Batman"
Person "Superman"
Car "SUV"
Car "Ford"
odpowiednio.
Obecnie robię to, aby połączyć je w moim Handler.
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
Czy jest to łatwiejszy sposób? Czy istnieje konwencja na wyrażenie takiej ekspresji?
robię go pod obsługi, to daje mi analizować błąd, jakieś pomysły? 'postFromR :: Handler RepHtml postFormR = zrobić przypadku wynik FormSuccess res -> _ <- runDB $ wkładka $ PersonCar persionId carId _ -> $ (logError) "błąd"' – HHC
@HHC, Dodałem blok wokół linii wstawiania, która później wymagała zwrotu. Testowany z instalacją yesod, chwyć kod ponownie. Sprawdź nazwy modeli (PesionId zamiast PersonId, PesonCar zamiast PersonCar) –