2015-12-09 16 views
13

Bir Post and Comment modelim var. Bir gönderinin birçok yorumu vardır ve bir yorum bir yayına aittir.Elixir ile "belongs_to" derneği Ecto ile nasıl gidilir?

Tek tek bir yorum gösterildiğinde, ait olduğu gönderiye nasıl erişebilirim?

Ruby on Rails Yapabileceğin yani:

@comment = Comment.find(params[:id]) 
@post = @comment.post 

Nasıl bu kullanarak Phoenix İksir çerçevesini elde edebiliriz? Model ilişkilendirmelerimin düzgün bir şekilde kurulduğuna inanıyorum, ancak bu sorguyu hem görünümde hem de denetleyicide gerçekte nasıl alacağımı karıştırıyorum.

cevap

20

Ecto.Schema belgelerini okursanız, belongs_to/3 ilişkilendirmesinin nasıl oluşturulacağını görürsünüz. dernek ile

defmodule MyApp.Comment do 
    use MyApp.Model 

    schema "comments" do 
    belongs_to :post, MyApp.Post 
    end 
end 

Eğer Derneği'ne getirmesi Repo.preload/2 kullanabilirsiniz kurdu. Eğer Ecto.Query.preload/3

+0

Araçları ile kaynak getirilen değil eğer Ayrıca sorguda önyükleyebilir

Repo.preload(comment, :post).post 

, çok teşekkür ederim. –