Can';Slick查询中的t-access-delete方法

Can';Slick查询中的t-access-delete方法,slick,play-slick,Slick,Play Slick,这是非常令人沮丧的。我已经试着捡起浮油有一段时间了,但障碍不断出现。Slick的概念真的很棒,但它很难学习,而且与Scala不同,它没有“初学者”、“中级”和“高级”风格,所有阶段的人都可以轻松使用它 我正在使用Play Slick(Slick 2.0.0),其示例如下: 出于某种原因,首先,ddl不属于TableQuery,这与文档中的声明不同:“TableQuery的ddl方法创建ddl”。这通过scaladoc显示:这里没有ddl方法 其次,我的slick.lifted.Query无法生成

这是非常令人沮丧的。我已经试着捡起浮油有一段时间了,但障碍不断出现。Slick的概念真的很棒,但它很难学习,而且与Scala不同,它没有“初学者”、“中级”和“高级”风格,所有阶段的人都可以轻松使用它

我正在使用Play Slick(Slick 2.0.0),其示例如下:

出于某种原因,首先,
ddl
不属于
TableQuery
,这与文档中的声明不同:“TableQuery的ddl方法创建ddl”。这通过scaladoc显示:这里没有
ddl
方法

其次,我的
slick.lifted.Query
无法生成
delete
方法。它适用于
列表
,但不适用于
删除

val S3Files = TableQuery[S3Files]
S3Files.where(_.url === url).delete
这行不通……然后我试着:

val query = (for(s <- S3Files if s.url === url) yield s)
query.list  //this works
query.delete //ehh?? can't find the method

val query2 = (for(s <- S3Files if s.url === url))
query2.delete //still won't work

val query=(对于(s),我通过简单地添加

Cats.ddl.create
Cats.filter(_.name===cat.name).delete
玩滑头蛋糕示例/app/controllers/Application.scala
对我来说很好


看起来您使用了错误的导入。请查看并模拟导入。

slick 0.8.1和slick 2.1.0与我有相同的问题

查询中无法使用delete的原因是play slick查询不包含与slick查询中的delete方法等效的方法

我换成了原来的圆滑的司机,解决了这个问题

//import play.api.db.slick.Config.driver.simple._ //play-slick extensional Driver
import slick.driver.PostgresDriver.simple._       //original slick Driver

请展示您的Slick导入。它们可能有问题。是的,Slick对隐式的高级使用不幸地会让新手感到心神不宁。希望直接嵌入能够提供一种解决方法,当我们有时间将其开发为提升嵌入(标准api)的可用替代品(或替代品)时.FYI:doc说TableQuery的ddl方法是一个缩写。它实际上是一个通过隐式方法找到的扩展方法。@cvogt是的,你可能是对的,但我不知道要导入哪个方法。现在我导入的唯一一个与slick相关的东西是
import play.api.db.slick.Profile
,我会研究它。也许play slick的例子是应该改进。@cvogt谢谢!我同意!这是您现在使用的解决方案吗?是的,我正在使用slick.driver.PostgresDriver.simple.\uImport