2017-08-11 57 views
1

我是phoenix/elixir中的新成員,需要幫助。如何在Elixir中將Codepoint轉換爲Integer

我嘗試把一個ecto.query的結果變量這樣

owner = 
(from ex in "executors", 
where: ex.email == ^account_name, 
where: ex.pass_hash == ^pwd, 
select: ex.id) 
|> Repo.all() 

我需要「老闆」是像ex.id一個整數,但它像一個char - 「\一','M'等

如何正確地從整型查詢得到結果或如何將其從碼點轉換爲整型?

在此先感謝

+0

目前還不清楚你問什麼,請編輯您問題是。請編輯你的問題,以清楚你的問題是什麼? –

+2

[Elixir列表解釋爲char列表]的可能重複(https://stackoverflow.com/questions/30037914/elixir-lists-interpreted-as-char-lists) –

+0

謝謝你的回答,但我正在使用變量no與檢查,我嘗試做另一個查詢,並使用'所有者'作爲條件,這需要是整數 – dnl008

回答

2

TL; DR

[owner | _] = 
    (from ex in "executors", 
    where: ex.email == ^account_name, 
    where: ex.pass_hash == ^pwd, 
    select: ex.id) 
    |> Repo.all() 

說明:

Repo.all()返回一個整數的列表,而不是一個整數。當你檢查它時,它被解釋爲一個charlist。如果你正有一個結果,如上進行比賽,甚至:

[owner] = ... 

,或者甚至更好:

owner = (<QUERY>) 
     |> Repo.one() 
+0

謝謝你的aswers。 @mudasobwa答案是最有幫助的。 '[owner] = ...''和'Repo.one()'爲我工作。 – dnl008

相關問題