问题:
我在编辑时遇到了以下问题。
您在范围内没有隐式应用程序。如果你想 将当前运行的应用程序置于上下文中,请使用 依赖注入。
排队问题 - DB.withConnection {^
代码段:
object User {
def getId(emailid: String): Option[Int] = {
DB.withConnection { implicit c =>
SQL("select id from user where email = {email}").on(
'email -> emailid).as(SqlParser.scalar[Int].singleOpt)
}
}
}
如何解决问题?
答案 0 :(得分:4)
让User
成为一个类,并将其注入您需要的地方。
class User @Inject() (db: Database) { ..}
在你的控制器中:
class MyController @Inject() (user: User) extends Controller {
// ..
user.getId
// ..
}
在此处阅读更多内容:https://www.playframework.com/documentation/2.5.x/ScalaDatabase
答案 1 :(得分:3)
我认为你遇到的问题是这样的:
You do not have an implicit Application in scope: PlayFramework with Oracle
尝试导入' play.api.Play.current'的包,即在您的代码文件中添加以下内容
import play.api.Play.current
祝你好运