2011-12-08 2 views
3

저는 스칼라와 플레이 프레임 워크를 약 1 개월 동안 사용 해왔고 여전히 톰 라이브러리를 사용하여 SQL 요청을 작성하는 즐거운 방법을 찾지 못했습니다. 내 응용 프로그램에서기본 키를 정수로 가져 오는 최상의 구문

나는 종종 자신이 사물의 종류의 일을 찾을 : 나는 행복하지 않다

// 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 

프로젝트 ID를 얻을 수있는 더 나은 방법이 있나요 정수로? 그것에 대해 생각하면 프로젝트 id 만 쿼리를 작성하면됩니다. Play에는 Pk 유형을 자동으로 처리하는 함수가있을 수 있습니다.

저는 스칼라와 플레이에 익숙하지 않기 때문에 문서에서 명백한 것을 놓쳤을 수도 있습니다. 가능한 경우 나는 놀라지 않을 것이지만

감사합니다,

클렘

답변

1

나는, 쿼리에서 직접 Pk의를 사용할 수있는 방법을 알고하지 않습니다.

def apply() = get.get 

은 따라서이 두 호출이 동일합니다 :

val projectId = project.id.get.get 
val projectId = project.id() 
약동학 값을 검색에 관해서는, 나는 약동학 클래스에 다음과 같은 발견
관련 문제