我想從數據庫獲取多個記錄並將其放入數組或地圖中。如何從數據庫中獲取多個記錄並將其放入數組或地圖
這是我與用戶ID
{"array":[133,136,137] }
樣本陣列,這是我的代碼
def array(conn, %{"array" => array}) do
userlist = %{}
Enum.each(array, fn(x) ->
Map.put(userlist, x, Repo.get(ApiDb.User, x))
end)
json conn, userlist
end
但此方法返回空數組
下面在控制檯輸出
都得到**(Poison.EncodeError)期望的字符串或原子鍵,得到:133錯誤。 我有在lib文件夾中的Poison.Encoder。 defimpl Poison.Encoder,爲:任何不 DEF編碼(%{__ struct__:_} =結構,選項)做 地圖=結構 |> Map.from_struct |> sanitize_map |> Poison.Encoder.Map。編碼(選項) #Poison.Encoder.Map.encode(地圖,選項) 端 defp sanitize_map(地圖)做 Map.drop(地圖,[:__ meta__,:__ struct__]) 端 端 – smartechno
I」已經更新了將鍵轉換爲字符串的答案。這應該工作。讓我知道。 – Dogbert
完美無瑕 – smartechno