Named Tuple Arguments / Anonymous Case Classes

I need something which helps me to prevent errors and boilerplate code:

val q3 = for {
  c <- coffees if c.price < 9.0
  s <- c.supplier
} yield (
  c.name, 
  s.name
)

It is look cool. But our usual table contains more than 20 attributes.
And such expressions will be very error prone after 5 attributes and more. Especially when you need refactoring. Creating named tuples manually is like creating many anonymous classes. It leads to boilerplate code. Unfortunately the classes cannot be created in function body, so it breaks context and make code more difficult.