不能在匹配子句之外使用 ^xxx
cannot use ^xxx outside of match clauses
这个函数:
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
这是为什么以及如何解决?
试试这个:
query
|> limit(page_size)
|> offset(offset)
|> Repo.all
这通常表示您没有从 Ecto.Query
中导入适当的宏。
您必须使用 ^(pin 运算符 - https://hexdocs.pm/elixir/Kernel.SpecialForms.html)
query
|> limit(^page_size)
|> offset(^v_offset) # I don't know if offset var override offset function of Ecto
|> Repo.all
导致此错误的另一个可能原因是单词拼写错误。在我的例子中,它是 form
而不是 from
。
这个函数:
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
这是为什么以及如何解决?
试试这个:
query
|> limit(page_size)
|> offset(offset)
|> Repo.all
这通常表示您没有从 Ecto.Query
中导入适当的宏。
您必须使用 ^(pin 运算符 - https://hexdocs.pm/elixir/Kernel.SpecialForms.html)
query |> limit(^page_size) |> offset(^v_offset) # I don't know if offset var override offset function of Ecto |> Repo.all
导致此错误的另一个可能原因是单词拼写错误。在我的例子中,它是 form
而不是 from
。