score:1

Accepted answer

The following seems to work for me:

joinedTable
  .filter({ case ((a, b), c) => List(
      searchStr.map(t => (a._2 like t)),
      searchStr.map(t => b.filter(_._1 like t).isDefined),
      searchStr.map(t => c.filter(_._1 like t).isDefined)
    )
    .flatten
    .reduceLeftOption(_ || _)
    .getOrElse(false: Rep[Boolean])
  })

Related Query

More Query from same tag