純粋なjsonを返すpostgres機能を利用しようとしているので、クエリを実行して必要なjsonを返すメソッドをEctoモデルに追加しました。
defmodule BoardApi.Board do
use Ecto.Model
def json_by_id(id) do
sql = "SELECT row_to_json(json) AS result FROM (SELECT array_agg(users) AS users FROM users WHERE id=#{id}) json;"
result = Ecto.Adapters.SQL.query(BoardApi.Repo, sql, [])
return List.first(result.rows) |> Tuple.to_list |> List.first
end
私の問題は、これにはSQLインジェクションの可能性があるということです.準備されたステートメントのようなものを使用することは可能ですか?