在匹配语句之外无法使用^xxx。

41

这个函数:

defp entries(query, page_number, page_size) do
  offset = page_size * (page_number - 1)

  query
  |> limit([_], ^page_size) # error
  |> offset([_], ^offset)
  |> Repo.all
end

引发一个异常:

cannot use ^pg_size outside of match clauses

为什么会这样,如何解决?

4个回答

117

这通常是您没有从Ecto.Query正确导入宏的标志。


你尝试使用的是:limit 和 offset。 - michalmuskala
请导入 Ecto.Query。如果您还没有,强烈建议您查看http://elixir-lang.org/getting-started/alias-require-and-import.html和https://hexdocs.pm/ecto/Ecto.Query.html。 - michalmuskala
这个问题是否可以报告根本原因错误? - Karlo Smid

0

这个错误的另一个可能原因是单词拼写错误。在我的情况下,是 form 而不是 from


0

试试这个:

query
|> limit(page_size)
|> offset(offset)
|> Repo.all

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接