Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Slick left outer join fetching whole joined row as option

Tags:

My join looks like this:

def byIdWithImage = for {
    userId <- Parameters[Long]
    (user, image) <- Users leftJoin RemoteImages on (_.imageId === _.id) if user.id === userId
} yield (user, image)

but slick fails at runtime when user.imageId is null

[SlickException: Read NULL value for column RemoteImage.url]

Changing the yield to

} yield (user, image.?)

gives me a compile time exception, it only works on individual columns

could not find implicit value for evidence parameter of type scala.slick.lifted.TypeMapper[image.type]

Would there be a different way to accomplish what I'm trying to do here? (in a single query)