10

ユーザー名に一致する1つのユーザーを見つける適切な方法は何ですか?

ユーザー定義型 User の場合:

case class User (userId: String, username: String)

object User extends Table[User]("user") {
  def userId = column[String]("userId", O.PrimaryKey)
  def username = column[String]("username")
  def * = userId ~ authId ~ username <>(User.apply _, User.unapply _)

  Database.forDataSource(DB.getDataSource()) withSession {
    implicit session: Session =>

    val q = for { u <- User if u.username.equalsIgnoreCase(someUsername) }
      yield u
    q.headOption

user.username は、String に変換されない Column[String] 型です。

必要なのは、データベースがクエリの一部として文字列を区別しない比較を行うことです。

4

1 に答える 1

22

同様の状況があり、toLowerCase拡張メソッドを使用して解決しました:

p <- u.party if p.loginName.toLowerCase === partyName.toLowerCase

ここでは、より多くの拡張メソッド、特にString のものを見つけることができます。

于 2013-05-22T20:11:09.807 に答える