简体   繁体   English

未指定的值参数:dbConfigProvider:DatabaseConfigProvider

[英]Unspecified value parameters: dbConfigProvider: DatabaseConfigProvider

In the context of battling to define a simple plain SQL DAO using Play and Slick latest versions 2.4.x and 3.0.3 respectively. 在努力定义分别使用Play和Slick最新版本2.4.x和3.0.3的简单普通SQL DAO的情况下。 I have the following: 我有以下几点:

import javax.inject.Inject
import play.api.db.slick.{DatabaseConfigProvider, HasDatabaseConfigProvider}
import slick.driver.JdbcProfile
import slick.driver.PostgresDriver.api._
import slick.lifted.TableQuery

import models.Tables._

class BaseDao @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
  import driver.api._

  val fundQuery = TableQuery[Fund]
}

object BaseDao extends BaseDao { /// <<<<<<<<<< Error here 
  // empty
}

I get the error Unspecified value parameters: dbConfigProvider: DatabaseConfigProvider on the line object BaseDao ... and can't find how to fix this as the syntax for this use-case is really new to me and there are no similar definitions in the examples etc. 我收到错误Unspecified value parameters: dbConfigProvider: DatabaseConfigProviderobject BaseDao ...上的Unspecified value parameters: dbConfigProvider: DatabaseConfigProvider object BaseDao ...并且找不到解决方法,因为此用例的语法对我来说真的很新,并且示例中没有类似的定义等等

Your class is defined with a constructor parameter: 您的类是使用构造函数参数定义的:

class BaseDao @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] { ... }
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

So, as the error suggests, you need to provide an instance of a DatabaseConfigProvider when building the object: 因此,正如错误所暗示的,在构建对象时,您需要提供一个DatabaseConfigProvider的实例:

val myDatabaseConfigProvider: DatabaseConfigProvider = ...

object BaseDao extends BaseDao(myDatabaseConfigProvider) { ... }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM