0

SquerylORMとScalaを使用します。初めて、グループ化を使用したJOINステートメントを実行しました。確かに、コンテンツの反復を開始する方法がわかりません。

参加は次のとおりです。

join(DB.jobs, DB.users.leftOuter, DB.clients.leftOuter, DB.projects.leftOuter)((j,u,c,p) =>
      where((j.teamId === teamId)
        and (j.startTime > yesterdayBegin))
      groupBy(j.userId)
      on(j.userId === u.map(_.id), j.clientId === c.map(_.id), j.projectId === p.map(_.id)))

内容を印刷するにはどうすればよいですか?

私は試した:

Job.teamTimeline( teamId(request) ).map{ user => Map(
        "name" -> user._1.map(_.name).getOrElse("Pending")
      )}

しかし、コンパイラエラーが発生しました:

value _1 is not a member of org.squeryl.dsl.Group[Option[org.squeryl.PrimitiveTypeMode.LongType]]
4

1 に答える 1

0

Max the great は、メーリング リストで助けてくれました。私はほとんど構文を正しく持っていました。

彼の反応:

交換 :

groupBy(j.userId)

に:

groupBy(j.userId, j.name)

それから :

timelineLookup.map{ group => Map(

        "name" -> group.key._2.getOrElse("Pending")

      )}

ソース: https://groups.google.com/forum/?fromgroups#!topic/squeryl/sJ05He-4F3I

于 2012-07-20T14:57:35.213 に答える