【问题标题】:cannot use ^xxx outside of match clauses不能在匹配子句之外使用 ^xxx
【发布时间】:2016-12-15 02:35:33
【问题描述】:

这个函数:

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

为什么会这样以及如何解决?

【问题讨论】:

    标签: elixir phoenix-framework ecto


    【解决方案1】:

    试试这个:

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

    【讨论】:

      【解决方案2】:

      这通常表明您没有从 Ecto.Query 导入适当的宏。

      【讨论】:

      【解决方案3】:

      您必须使用 ^(pin 运算符 - https://hexdocs.pm/elixir/Kernel.SpecialForms.html

      询问 |> 限制(^page_size) |> offset(^v_offset) # 不知道offset var是否覆盖了Ecto的offset函数 |> 回购.all

      【讨论】:

        【解决方案4】:

        此错误的另一个可能原因是单词拼写错误。就我而言,它是form 而不是from

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-07-25
          • 1970-01-01
          • 2020-10-08
          • 1970-01-01
          • 2019-05-02
          • 1970-01-01
          • 2017-06-07
          相关资源
          最近更新 更多