지도를 프런트 엔드에 보내려고합니다. 아래의 코드처럼 원자에 키를 넣으면 잘 동작합니다.SELECT 맵의 값을 설정하십시오.
defp build_select(queryable, opts_select) do
if opts_select == nil do
queryable
else
Enum.reduce opts_select, queryable, fn ({k, v}, queryable) ->
a = from q in queryable,
select: %{Data: field(q, ^(String.to_existing_atom k))}
end
end
end
하지만 데이터 대신 k 값을 보내려고합니다. 내가 어떻게 그럴 수 있니? K는 문자열입니다.
k 값을 원자로 변환하고 사용했지만 작동하지 않았습니다.
내가 가진 field (q,^(String.to_existing_atom k))가지도에서 키 값 쌍으로 사용하기 때문에 목록으로 변환 – script
@hammadahmed'opts_select'의 예제 값을 사용하여 예상되는 반환 값을 질문에 추가 할 수 있습니까? – Dogbert
k가 status_id 인 경우 opts_select에서 i는 k = "status_id"이고 v가 비어 있으면 결과는 "status_id": "value"가됩니다. – script