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)