也许我使用Table.insertStatementFor
错了。
我使用的是Slick 3.0.x和Scala-2.11.x
有以下类和对象:
case class User(id:Int, name:String)
class Users(tag: Tag) extends Table[User](tag, "users") {
def id = column[Int]("id", O.PrimaryKey)
def name = column[String]("name")
def * = (id, name) <> (User.tupled, User.unapply)
}
val table = TableQuery[Users]
我想获取带有数据的insert语句字符串。
方法table.insertStatement
返回
INSERT INTO users(id, name) VALUES(?,?)
我想为User(1, "John")
获取以下字符串:
INSERT INTO users(id, name) VALUES(1, 'John');
我尝试使用方法table.insertStatementFor(User(1, "John"))
,但它不起作用并引发异常:
not enough arguments for method insertStatementFor: (implicit shape: scala.slick.lifted.Shape[_ <: scala.slick.lifted.FlatShapeLevel, models.User, ...
此任务的解决方案是否存在?