Haskell Esqueleto - обновить с помощью join

Могу ли я сделать запрос на обновление с помощью join в 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)

0 ответов

Другие вопросы по тегам