Kyl*_*cot 4 erlang elixir phoenix-framework
我有一个使用Ecto引入的结果列表.我想最终得到一个关键字列表,然后我可以用它来填充<select>凤凰城内部,但我不确定如何将此列表转换为关键字列表,如["1": "Author #1", "2": "Author #2"]
authors = Repo.all(Author)
# How would I create ["1": "Author #1", "2": "Author #2"]
Run Code Online (Sandbox Code Playgroud)
关键字列表需要原子作为键.好消息是您不需要提供关键字列表select.这有两种方法:
直接在查询中执行:
authors = Repo.all from a in Author, select: {a.name, a.id}
Run Code Online (Sandbox Code Playgroud)在数据上做:
authors = Repo.all Author
Enum.map(authors, fn a -> {a.name, a.id} end)
Run Code Online (Sandbox Code Playgroud)第一个优点是您只需从表中加载所需的数据.