gpt4 book ai didi

scala - Slick 中不区分大小写的字符串比较?

转载 作者:行者123 更新时间:2023-12-03 04:49:35 24 4
gpt4 key购买 nike

查找单个用户匹配用户名的正确方法是什么?

使用用户定义类型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 的类型为 Column[String],没有转换为 String。

我们希望让数据库在查询过程中进行不敏感的比较。

最佳答案

我也遇到过类似的情况,并通过使用 toLowerCase 解决了它扩展方法:

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

您可以找到here更多扩展方法,尤其是String ones .

关于scala - Slick 中不区分大小写的字符串比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com