Haskell で結合を使用して更新クエリを作成できますか? 多分このようなもの:
putPromotionInStoreItemsFromStoreBySItemId :: SItemId -> SItemPromoId -> YesodDB App ()
putPromotionInStoreItemsFromStoreBySItemId siId pId = update $ \(si `InnerJoin` s `InnerJoin` ssi) -> do
on $ ssi ^. SItemStore ==. s ^. StoreId
on $ s ^. StoreId ==. si ^. SItemStore
set ssi [ SItemPromotion =. val pId ]
where_ $ si ^. SItemId ==. val siId
&&. isNothing (ssi ^. SItemDisabled)