Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 表联接_Elixir_Ecto - Fatal编程技术网

Elixir 表联接

Elixir 表联接,elixir,ecto,Elixir,Ecto,EXTO文档展示了如何连接两个表(A您可以在树状结构中预加载关联,然后根据需要映射结果 > subquery = App.Post |> preload(:comments) #Ecto.Query<from p in App.Post, preload: [:comments]> > query = App.User |> preload(posts: ^subquery) #Ecto.Query<from u in App.User, prelo

EXTO文档展示了如何连接两个表(A您可以在树状结构中预加载关联,然后根据需要映射结果

> subquery = App.Post |> preload(:comments)
#Ecto.Query<from p in App.Post, preload: [:comments]>

> query = App.User |> preload(posts: ^subquery)
#Ecto.Query<from u in App.User, 
preload: [posts: #Ecto.Query<from p in App.Post, preload: [:comments]>]>

> Repo.all(query)
[
  %App.User{...},
  %App.User{...},
  %App.User{
    ...,
    posts: [
      %App.Post{...},
      %App.Post{...},
      %App.Post{
        ...,
        comments: [
          %App.Comment{...},
          %App.Comment{...},
          %App.Comment{...}
        ]
      }
    ]
  }
]
>subquery=App.Post |>预加载(:注释)
#异位查询
>query=App.User |>预加载(帖子:^子查询)
#异位查询
>全部回购(查询)
[
%App.User{…},
%App.User{…},
%应用程序用户{
...,
职位:[
%App.Post{…},
%App.Post{…},
%App.Post{
...,
评论:[
%App.Comment{…},
%App.Comment{…},
%App.Comment{…}
]
}
]
}
]
> subquery = App.Post |> preload(:comments)
#Ecto.Query<from p in App.Post, preload: [:comments]>

> query = App.User |> preload(posts: ^subquery)
#Ecto.Query<from u in App.User, 
preload: [posts: #Ecto.Query<from p in App.Post, preload: [:comments]>]>

> Repo.all(query)
[
  %App.User{...},
  %App.User{...},
  %App.User{
    ...,
    posts: [
      %App.Post{...},
      %App.Post{...},
      %App.Post{
        ...,
        comments: [
          %App.Comment{...},
          %App.Comment{...},
          %App.Comment{...}
        ]
      }
    ]
  }
]