Playframework2にこのScalaQueryモデルがあります
object User {
implicit object UserFormat extends Format[User] {
def reads(json: JsValue) : User = User(
None,
(json \ "firstName").as[String],
(json \ "lastName").as[String],
(json \ "email").as[String]
)
def writes(user: User) : JsValue = JsObject(Seq(
"firstName" -> JsString(user.firstName),
"lastName" -> JsString(user.lastName),
"email" -> JsString(user.email))
)
}
}
object UsersTable extends Table[User]("users") {
def id = column[Long]("USER_ID", O.PrimaryKey, O.AutoInc)
def fName = column[String]("USER_FIRSTNAME", O.NotNull)
def lName= column[String]("USER_LASTNAME", O.NotNull)
def email = column[String]("USER_EMAIL", O.NotNull)
def user_email_idx = index("user_email_idx", email, unique = true)
def * = id.? ~ fName ~ lName ~ email <> (User.apply _, User.unapply _)
def forInsert = fName ~ lName ~ email <> ({ (f, l, e) => User(None, f, l, e) }, { u:User => Some((u.firstName, u.lastName, u.email)) })
}
Select *を実行して、のすべての行を返したいのですがUsersTable
。UsersTableプロジェクションを使用してこれを行うことは可能ですか?私はこのように見えるいくつかの例を見てきました
UsersTable.where(_.fName startsWith "H").list
基準に一致する行を選択します。それを渡さずにこれを行うにはどうすればよいですか?
ありがとう!