У меня есть класс User
:
case class User (id: Int, name: String)
И я хотел бы сопоставить строки из запроса, используя Anorm Stream API . Я пробовал использовать этот код:
val selectUsers = SQL("SELECT id, name FROM users")
val users = selectUsers().map(
user => User(0, user.name)
).toList
Но я получаю сообщение об ошибке:
Error raised is : value name is not a member of play.db.anorm.SqlRow
на
user => User(0, user.↓name)
Как я могу сопоставить SqlRow
классу?
] Как было предложено Рикардо, я попробовал:
object User extends Magic[User]
val users: List[User] = SQL("SELECT * FROM users").as(User*)
Но с этим кодом я получил RuntimeException: ColumnNotFound (User.id)
on:
val users: List[User] = SQL("SELECT * FROM users").as(User*)
Есть предложения? Предполагаю, что у меня ] Объект User
в строке прямо перед? И у меня все еще есть класс случая User
.