Phoenix association belongs_to

2018年5月21日 Posted by PURGE

■ member.ex

defmodule Sample.Portal.Member do
  use Ecto.Schema
  import Ecto.Changeset


  schema "members" do
    field :birthday, :date
    field :email, :string
    field :first_name, :string
    field :last_name, :string
    field :passwd, :string
    field :gender_cd, :integer
    #    field :team_id, :id
    belongs_to :team, Sample.Portal.Team

    timestamps()

  end

  @doc false
  def changeset(member, attrs) do
    member
    |> cast(attrs, [:last_name, :first_name, :email, :passwd, :birthday, :team_id, :gender_cd])
    |> validate_required([:last_name, :first_name, :email, :passwd, :birthday, :team_id ])
  end
end

■ repo.ex

  def list_members do
    Repo.all(Member)
    |> Repo.preload(:team)
  end

  def get_member!(id), do: Repo.get!(Member, id) |> Repo.preload(:team)

■ index.html.eex

  <%= for member <- @members do %>
    <td><%= member.team.team_name %></td>
  <% end %>

■ show.html.eex

    <%= @member.team.team_name %>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です