1
클라이언트는 다음과 같은 JSON을 보냅니다 : { "사용자": { "세 +": 18, "나이 -": 40}} 내 컨트롤러에서Ecto Query를 위해 JSON에서 값을 전달하는 방법은 무엇입니까?
나는 다음과 같은 한 :
def procura(conn, query) do
maior = conn.params["user"]["age+"]
menor = conn.params["user"]["age-"]
query = from u in query, where: u.age > ^maior and u.age < ^menor, select: u.name
pesquisa = Repo.all query
IO.puts pesquisa
end
하지만 컴파일러 경고가 : ** (Protocol.UndefinedError) protocol Ecto.Queryable not implemented for %{}
어떻게 Ecto 쿼리에 대한 JSON 값을 전달합니까?
제 목표는 JSON 필드를 기반으로 쿼리를 수행하는 것입니다. x와 y 년 사이에있는 사용자를 쿼리하고 싶습니다. 자동 번역입니다.
쿼리의 값이 무엇입니까? 당신은'% {}'을 질의 대신에'procura'의 두 번째 인자로 전달하는 것 같습니다. 또한,'from' 라인을'query = from u from query, ...'로 변경해야합니다. – Dogbert
procura가 행동입니까? 그렇다면 쿼리 매개 변수가 요청에서 제거됩니다. Pls는 결과로 show에서 쿼리에 IO.inspect를 시도합니다. 지도 여야합니다. 액션 인 경우 연결을 반환해야합니다. – Haito
안녕하세요! 내 목표는 JSON 필드를 기반으로 검색을 수행하는 것입니다. x와 y 년 사이에있는 사용자를 검색하고 싶습니다. 나는 가지 않는다. –