我使用Play 2.3.8和Slick 2.1.0并根据文档,我应该能够在我的控制器操作中执行查询:
val customers = TableQuery[Customers]
def index = DBAction { implicit request =>
val result = Json.toJson(customers.list)
Ok(result)
}
然而,当我尝试这个时,我得到一个错误 - 范围内没有隐式会话。我可以这样做:
val customers = TableQuery[Customers]
def index = DBAction { implicit request =>
implicit val session = request.dbSession
val result = Json.toJson(customers.list)
Ok(result)
}
这是必需的还是更简单的方法?谢谢!
答案 0 :(得分:1)
您可以使用此导入(PoC)来避免隐含:
import play.api.mvc._
import play.api.Play.current
import play.api.db.slick._
import play.api.db.slick.Config.driver.simple._
...
object Products extends Controller {
def all = DBAction { implicit rs =>
Ok(Json.toJson(products.list))
}
}