Reputation: 14309
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. 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.
Upvotes: 0
Views: 2158
Reputation: 15074
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:
val myDatabaseConfigProvider: DatabaseConfigProvider = ...
object BaseDao extends BaseDao(myDatabaseConfigProvider) { ... }
Upvotes: 1