私はこれが行われる場所を見たことがありませんが、私は以下を持っています:
abstract class Player { val user_id: Long }
case class AlivePlayer(user_id: Long, target_id: Long) extends Player
case class DeadPlayer(user_id: Long) extends Player
def getPlayers(game: Game):Option[List[Player]] = DB.withConnection { implicit connect =>
SQL(
"""
SELECT * FROM game_participants WHERE game_id = {game_id})
"""
).on(
'game_id -> game.id
).as(Game.participantParser *)
}
この場合、次のメッセージでコンパイラエラーが発生します
error: type mismatch; found : anorm.ResultSetParser[List[Product with Serializable with models.Player]] required: anorm.ResultSetParser[Option[List[models.Player]]]
).as(Game.participantParser *)
リターンタイプを単にとして指定するだけでは不十分なのはなぜOption[List[Player]]
ですか?