如何在 Elixir 中获取与 Ecto 的 "belongs_to" 关联?
How to get the "belongs_to" association with Ecto in Elixir?
我有一个 Post 和 Comment 模型。一个post有很多评论,一个评论属于一个post.
显示个人评论时,如何访问它所属的post?
即在 Rails 上的 Ruby 你可以这样做:
@comment = Comment.find(params[:id])
@post = @comment.post
如何使用 Phoenix Elixir 框架实现此目的?我相信我的模型关联设置正确,但我对如何在视图或控制器中实际获取此查询感到困惑。
如果您阅读 Ecto.Schema docs then you will see how to create a belongs_to/3 协会。
defmodule MyApp.Comment do
use MyApp.Model
schema "comments" do
belongs_to :post, MyApp.Post
end
end
建立关联后,您可以使用Repo.preload/2获取关联。
Repo.preload(comment, :post).post
如果您还没有使用 Ecto.Query.preload/3
获取资源,您也可以在查询中预加载
我有一个 Post 和 Comment 模型。一个post有很多评论,一个评论属于一个post.
显示个人评论时,如何访问它所属的post?
即在 Rails 上的 Ruby 你可以这样做:
@comment = Comment.find(params[:id])
@post = @comment.post
如何使用 Phoenix Elixir 框架实现此目的?我相信我的模型关联设置正确,但我对如何在视图或控制器中实际获取此查询感到困惑。
如果您阅读 Ecto.Schema docs then you will see how to create a belongs_to/3 协会。
defmodule MyApp.Comment do
use MyApp.Model
schema "comments" do
belongs_to :post, MyApp.Post
end
end
建立关联后,您可以使用Repo.preload/2获取关联。
Repo.preload(comment, :post).post
如果您还没有使用 Ecto.Query.preload/3
获取资源,您也可以在查询中预加载