0
我試圖使用Ecto/postgres創建搜索查詢。這裏是我的查詢的第一部分:根據列表對Ecto查詢重複where子句語句
query = from l in Log,
join: u in assoc(l, :user),
where: u.id == ^current_user.id,
select: l
用戶可以在任何數量的術語(用空格隔開)輸入到一個文本框,然後使用這些術語來篩選結果集。我使用String.split
到原始字符串轉換爲一組的where子句(AND'd一起)被添加到查詢:
search_term
|> String.split()
|> Enum.map(fn(term) ->
query = from l in query,
where: fragment("comment ~* ?", ^term)
end)
除了這個聲明沒有任何效果。我假設query
作業只存在於函數的範圍內。我的思想被命令性思維籠罩。我如何以功能性的方式實現這一點?