嵌套关联查询。查询范围

时间:2018-05-07 02:22:06

标签: elixir phoenix-framework ecto

我正在尝试将记录范围限定为属于当前用户的内容。但我没有取得多大成功。这是我正在尝试的:

     Occupation
     111
     211
     311

但是我收到了这个错误:

def show(conn, %{"id" => id}) do
    user_id = Map.get(Statcasters.Guardian.Plug.current_resource(conn), :id)
    user = Repo.get!(User, user_id) |> Repo.preload(:leagues)

    league = Repo.get(user.leagues, id)
end

什么使记录“可查询”?我想将一个列表传递给Repo.get是无效的。那么,我应该传递什么才能将联赛适当地扩展到当前用户?

1 个答案:

答案 0 :(得分:2)

问题是user.leaguesList预加载的关联记录。如果您需要在该列表中查找记录,请使用Enum.find/3进行此操作:

Enum.find user.leagues, fn league -> league.id == id end

否则,league可以id加载Repo leagues user_idid Repo.get League, id DOMSubTreeModified提供MutationObserver的唯一记录:

var myElement = $("<div>hello world</div>")[0];

var observer = new MutationObserver(function(mutations) {
   if (document.contains(myElement)) {
        console.log("It's in the DOM!");
        observer.disconnect();
    }
});

observer.observe(document, {attributes: false, childList: true, characterData: false, subtree:true});

$("body").append(myElement); // console.log: It's in the DOM!