为什么编译失败并显示“找不到:有价值的用户”?

苏尼扬詹

我想从默认数据库中检索一行postgres我已经定义了“用户”表。

conf / application.conf

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5234/postgres"
db.default.user="postgres"
db.default.password=""

控制器/Application.scala

package controllers

import models.{UsersDatabase, Users}
import play.api.mvc._

object Application extends Controller {

  def index = Action { 
    Ok(views.html.index(UsersDatabase.getAll))
  }
}

模型/Users.scala

package models

import java.sql.Date
import play.api.Play.current
import play.api.db.DB
import slick.driver.PostgresDriver.simple._

case class User(
    id: Int,
    username: String,
    password: String,
    full_name: String,
    email: String,
    gender: String,
    dob: Date,
    joined_date: Date
)

class Users(tag: Tag) extends Table[User](tag, "Users") {

    def id = column[Int]("id")
    def username = column[String]("username", O.PrimaryKey)
    def password = column[String]("password")
    def full_name = column[String]("full_name")
    def email = column[String]("email")
    def gender = column[String]("gender")
    def dob = column[Date]("dob")
    def joined_date = column[Date]("joined_date")
    def * = (id, username, password, full_name, email, gender, dob, joined_date) <> (User.tupled, User.unapply)
}

object UsersDatabase {

    def getAll: List[User] = {
        Database.forDataSource(DB.getDataSource()) withSession {
            Query(Users).list
        }
    }
}

在访问http://localhost:9000/它时会出现编译错误:

[error] .../app/models/Users.scala:36: not found: value Users
[error]             Query(Users).list
[error]                   ^
[error] one error found
[error] (compile:compile) Compilation failed

如何解决此错误并正确访问数据?

杰西克·拉斯考斯基(Jacek Laskowski)

编译错误消息说明了一切-Users作用域中没有使用的值

将对象更改UsersDatabase为如下所示:

object UsersDatabase {

    val users = TableQuery[Users]

    def getAll: List[User] = {
        Database.forDataSource(DB.getDataSource()) withSession { implicit session =>
            users.list
        }
    }
}

由于您使用本地val users列表来列出数据库中的用户,因此错误消失了

如上述查询油滑的官方文件中sessionval为的隐含值列表(如final def list(implicit session: SessionDef): List[R]),因此implicit session在块:

所有执行查询的方法都采用隐式Session值。当然,如果您愿意,也可以显式地通过会话:

val l = q.list(session)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么编译失败并显示“未找到:有价值的用户”?

来自分类Dev

OS X Mail正在显示此警告。.Mail [378]:找不到有价值的机械……这是什么

来自分类Dev

为什么spark-ec2失败并显示错误:找不到任何现有集群?

来自分类Dev

为什么2.11.1失败并显示错误:找不到:键入Application?

来自分类Dev

证明:为什么我的单选按钮没有价值?

来自分类Dev

为什么全局变量不持有价值

来自分类Dev

我想在输入用户时显示一些有价值的信息

来自分类Dev

为什么此dynamodb查询失败并显示“找不到请求的资源”?

来自分类Dev

为什么“ ruby-install ruby”失败并显示:“ E:找不到必需的软件包”?

来自分类Dev

当这些文件存在时,为什么我的 Travis CI 构建失败并显示“找不到文件”错误?

来自分类Dev

为什么perl在有价值的情况下在我的数据库中留空?

来自分类Dev

当我使用ng-options时为什么我选择的没有价值

来自分类Dev

哪些与Windows相关的文件对* nix用户没有价值?

来自分类Dev

为什么编译器找不到我的方法?

来自分类Dev

为什么编译器找不到头文件?

来自分类Dev

如何显示在Laravel中有价值的多列

来自分类Dev

MVC显示模型属性仅具有价值吗?

来自分类Dev

为什么我的 gradle 构建失败?(找不到方法 apt())

来自分类Dev

为什么在IDEA / AS中找不到用法显示所有结果?

来自分类Dev

为什么启动spark-shell失败并显示“我们找不到任何外部IP地址!” 在Windows上?

来自分类Dev

为什么在0.13.7中执行调试失败并显示“在库路径上找不到代理库jdwp:transport”?

来自分类Dev

在Eclipse中,Maven编译失败并显示“找不到符号”,它会编译

来自分类Dev

为什么找不到使用Firebase API的用户?

来自分类Dev

为什么找不到用户输入的路径返回文件?

来自分类Dev

即使在Makefile的编译和链接的每个阶段都有-g,为什么gdb仍找不到任何调试符号?

来自分类Dev

为什么编译器在有 2 个类的源文件中找不到我的公共类?

来自分类Dev

为什么我的脚本输出显示“ mv:找不到命令”,而直接在shell上运行却没有显示?

来自分类Dev

为什么我的脚本输出显示“ mv:找不到命令”,而直接在shell上运行却没有显示?

来自分类Dev

PHP没有价值

Related 相关文章

  1. 1

    为什么编译失败并显示“未找到:有价值的用户”?

  2. 2

    OS X Mail正在显示此警告。.Mail [378]:找不到有价值的机械……这是什么

  3. 3

    为什么spark-ec2失败并显示错误:找不到任何现有集群?

  4. 4

    为什么2.11.1失败并显示错误:找不到:键入Application?

  5. 5

    证明:为什么我的单选按钮没有价值?

  6. 6

    为什么全局变量不持有价值

  7. 7

    我想在输入用户时显示一些有价值的信息

  8. 8

    为什么此dynamodb查询失败并显示“找不到请求的资源”?

  9. 9

    为什么“ ruby-install ruby”失败并显示:“ E:找不到必需的软件包”?

  10. 10

    当这些文件存在时,为什么我的 Travis CI 构建失败并显示“找不到文件”错误?

  11. 11

    为什么perl在有价值的情况下在我的数据库中留空?

  12. 12

    当我使用ng-options时为什么我选择的没有价值

  13. 13

    哪些与Windows相关的文件对* nix用户没有价值?

  14. 14

    为什么编译器找不到我的方法?

  15. 15

    为什么编译器找不到头文件?

  16. 16

    如何显示在Laravel中有价值的多列

  17. 17

    MVC显示模型属性仅具有价值吗?

  18. 18

    为什么我的 gradle 构建失败?(找不到方法 apt())

  19. 19

    为什么在IDEA / AS中找不到用法显示所有结果?

  20. 20

    为什么启动spark-shell失败并显示“我们找不到任何外部IP地址!” 在Windows上?

  21. 21

    为什么在0.13.7中执行调试失败并显示“在库路径上找不到代理库jdwp:transport”?

  22. 22

    在Eclipse中,Maven编译失败并显示“找不到符号”,它会编译

  23. 23

    为什么找不到使用Firebase API的用户?

  24. 24

    为什么找不到用户输入的路径返回文件?

  25. 25

    即使在Makefile的编译和链接的每个阶段都有-g,为什么gdb仍找不到任何调试符号?

  26. 26

    为什么编译器在有 2 个类的源文件中找不到我的公共类?

  27. 27

    为什么我的脚本输出显示“ mv:找不到命令”,而直接在shell上运行却没有显示?

  28. 28

    为什么我的脚本输出显示“ mv:找不到命令”,而直接在shell上运行却没有显示?

  29. 29

    PHP没有价值

热门标签

归档