当选项[string]不是时,插入它的正确方法是什么?下面的代码插入了一个空字符串,这与mysql中的null不同。
根据partnercode的内容预先构建sql字符串的唯一方法是什么?唉…不正常…

DB.withConnection { implicit connection =>

  val id: Option[Long] = SQL(
    """
    INSERT INTO users (email, partner_code, is_active, created, pass) VALUES ({email}, {partnerCode}, 0, NOW(), {pass})
    """
  ).on(
    'email -> user.email,
    'partnerCode -> user.partnerCode.getOrElse(""),  // FIXME: how to use NULL keyword instead of empty string? Is Anorm just this dumb?
    'pass -> hashPassword(user.password.get)
  ).executeInsert()

  id.get

}

最佳答案

None如果导入anorm._anorm.toParameterValue,实际上应该可以正常工作:

'partnerCode -> user.partnerCode

08-05 20:27