Slick 3. For Comprehension on query. Can I force to have Option

590 Views Asked by At

When I run next Query, I get nothing sometimes. This hapens when no associated breeder founded for my flower sort.

for {
  sort <- flowerSorts if sort.id === flowerSortId
  sortDetails <- flowersSortDetails if sortDetails.id === flowerSortId
  ftype <- flowerTypes if sort.flowerTypeId === ftype.id
  breeder <- breeders if breeder.id === sort.breederId
  lastBuy <- flowerSortsLastBuy if lastBuy.flowerSortId === flowerSortId
} yield (sort, sortDetails, ftype, breeder, lastBuy)

I`m wondering is it possible to somehow get Option[] for breeder? I try to achive something like:

for {
  sort <- flowerSorts if sort.id === flowerSortId
  sortDetails <- flowersSortDetails if sortDetails.id === flowerSortId
  ftype <- flowerTypes if sort.flowerTypeId === ftype.id
  breeder: Option[_] <- breeders if breeder.id === sort.breederId
  lastBuy: Option[_] <- flowerSortsLastBuy if lastBuy.flowerSortId === flowerSortId
} yield (sort, sortDetails, ftype, breeder, lastBuy)

I know how to achive what I want without For Comprehensions.

0

There are 0 best solutions below