Проблема в том, что str("something") ?
означает получить из необнуляемого столбца "что-то", но я не уверен, будет ли строка или нет. Я думаю, что вы хотите:
SQL("SELECT something FROM Session WHERE id={id}").on("id" -> id).as(get[Option[String]]("something") ?).getOrElse(None)
Оператор SQL as as дает нам Option[Option[String]]
, потому что мы не уверены, существует ли строка, и если строка есть, мы не уверены, является ли столбец нулевым или нет. Вот почему нам нужно сделать getOrElse, чтобы просто уменьшить его до Option[String]