0
我正在學習與斯利克玩Scala並遇到問題。由Slick生成的查詢在使用drop和take時會引發錯誤(工作正常,但不需要下載,但我需要分頁)。油滑下降,並拋出錯誤
val categories = TableQuery[Categories]
def list(page: Int = 0, pageSize: Int = 10, orderBy: Int = 1)(implicit s: Session): Page[Category] = {
val offset = pageSize * page
val totalRows = count
/* Error here */
val result = categories.drop(offset).take(pageSize).list
/* This works fine */
/* val result = categories.list */
Page(result, page, offset, totalRows)
}
生成的查詢和錯誤堆棧跟蹤:
[JdbcSQLException: Syntax error in SQL statement "SELECT X2.""id"", X2.""name"", X2.""description"" FROM (SELECT X3.""id"" AS ""id"", X3.""name"" AS ""name"", X3.""description"" AS ""description"" FROM ""core_category"" X3 FETCH[*] NEXT 10 ROW ONLY) X2 "; expected "RIGHT, LEFT, FULL, INNER, JOIN, CROSS, NATURAL, ,, WHERE, GROUP, HAVING, UNION, MINUS, EXCEPT, INTERSECT, ORDER, LIMIT, FOR,)"; SQL statement:
select x2."id", x2."name", x2."description" from (select x3."id" as "id", x3."name" as "name", x3."description" as "description" from "core_category" x3 fetch next 10 row only) x2 [42001-175]]
任何想法我怎麼能實現分頁沒有得到這個錯誤?
這似乎是一個在Slick中的錯誤。您可能想在此處將其報告給Slick項目:https://github.com/slick/slick/issues – tuxdna 2014-09-28 14:24:46