0

我使用 slick2.0 而不是 1.0 在 playframework2.2 模板中:

val 主题 = TableQuery[主题]

@import scala.slick.driver.PostgresDriver.simple._
@main(message) {
@*if(@adlist.size>0){
    @views.html.main("some thing"){<div></div>}*@
<script type='text/javascript'>
    $(function () {
        $('.rating select').barrating({ showSelectedRating:false });
    });
</script>

@slides("sssdfdes")
<div class="list-group">
@for(subitem<-(subject.drop(0).map(i => (i.id, i.name, i.describe,i.sub_resource)).run)){
@topicelement("//localhost/shop/"+subitem._1, subitem._2, 1, subitem._1, subitem._3,subitem._4)

}

</div>

}

错误是:

[info] Loading project definition from G:\testprojects\slickplay\project
[info] Set current project to slickplay (in build file:/G:/testprojects/slickpla
y/)
[info] Compiling 5 Scala sources to G:\testprojects\slickplay\target\scala-2.10\
classes...
[error] G:\testprojects\slickplay\app\views\list_subject.scala.html:23: could no
t find implicit value for parameter session: scala.slick.jdbc.JdbcBackend#Sessio
nDef
[error]                       .map(i => (i.id, i.name, i.describe,i.sub_resource
 )).run)){
[error]
 ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 9 s, completed 11/04/2014 4:39:26 AM
actually the problem is:

type mismatch;  found   : scala.slick.lifted.Column[String]  required: String
4

1 回答 1

0

您没有执行查询。您必须先执行一个 Slick 查询,.run然后才能给出结果:

@for(subitem<-(subject.drop(0)
                      .map(i => (i.id, i.name, i.describe,i.sub_resource))
                      .run )){
  @topicelement(
    "//localhost/shop/"+subitem._1, subitem._2, 1, subitem._1, subitem._3,subitem._4
  )
}
于 2014-04-10T11:28:12.540 回答