Ecto CastError:`join` 中的值无法转换为类型 {:in, :string}

问题描述 投票:0回答:1

我有一个这样定义的列表:

flags = ['flag_a', 'flag_b']

查询设置如下:

from(u in User,
     left_join: f in Flags,
     on: f.account_id == u.account_id and f.name in ^@flags

这给了我这个错误消息:

(Ecto.Query.CastError) lib/service/users.ex:106: value `['flag_a', 'flag_b']` in `join` cannot be cast to type {:in, :string} in query:

... etc ...
elixir ecto
1个回答
0
投票

我只需要对值使用双引号:

flags = ["flag_a", "flag_b"]

所以它是一个字符串而不是一个字符列表

© www.soinside.com 2019 - 2024. All rights reserved.