Slick 3.1.0에서 다음 모델을 모델링하려고합니다.매끄러운 일대일 및 그룹화
case class Review(txt: String, userId: Long, id: Long)
case class User(name: String, id: Long)
case class ReviewEvent(event: String, reviewId: Long)
내가 좋아 보이는 FullReview
라는 클래스를 채울 필요가; 나는 각 모델에 맞는 테이블이 가정
case class FullReview(r: Review, user: User, evts: Seq[ReviewEvent])
, 정말 같이하여 조인의 조합 및 그룹을 사용하여 FullReview
를 가져 오기 위해 노력하고있어 :
val withUser = for {
(r, u) <- RTable join UTable on (_.userId === _.id)
}
val withUAndEvts = (for {
((r, user), evts) <- withUser joinLeft ETable on {
case ((r, _), ev) => r.id === ev.reviewId
}
} yield (r, user, events)).groupBy(_._1._id)
이 항복하는 것 , 중첩 된 Query
유형을 볼 수 있습니다. 여기서 내가 뭘 잘못하고 있니?
무엇이 오류입니까? – pamu
@pamu 오류 자체는 없습니다. 'db.run' 블록 안에서 이것을 어떻게 소비할까요? 예를 들어,'user_id'에 의한 리뷰 목록을 데이터베이스에 질의하는'Seq [FullReview]'를 얻고 싶습니다. – Ashesh
[this] (http://olivebh.com/scala-play-slick.html) 멋진 블로그 게시물을 참조하십시오. –