Я использую Scala и Play Framework уже около месяца и до сих пор не нашел приятного способа написания SQL-запросов с использованием библиотеки anorm.
В моем приложении я часто делаю такие вещи:
// projectId and componentId are foreign keys.
case class ProjectComponent(id: Pk[Int], projectId: Int, componentId: Int)
object ProjectComponent extends Magic[Event]
{
def findForProject(project: Project) : List[ProjectComponent]
{
val projectId = project.id.get.get
ProjectComponent.find("projectId=" + projectId).list()
}
}
Строка, которой я не доволен:
// project.id returns Pk[Int]
// project.id.get returns Option[Int]
// project.id.get.get returns Int
val projectId = project.id.get.get
Есть ли лучший способ получить идентификатор проекта в виде целого числа? Думая об этом, мне нужен только идентификатор проекта, чтобы написать запрос. В Play может быть функция, которая автоматически обрабатывает тип Pk.
Я новичок в Scala и Play, поэтому я мог пропустить что-то очевидное в документации.
Спасибо
Клем