So, I implemented the self-referencing association Useras a way to Userfollow another User... typical followers / next model. I am confused about how to implement the correct query expression for each function below. I understand what needs to be done for each function, but I don’t know how to implement them.
defmodule App.User do
schema "users" do
has_many :followers, App.Follower, foreign_key: :followed_id
has_many :following, through: [:followers, :follower]
end
@doc """
Return true if `user` is following `user2`
"""
def following?(user, user2) do
end
@doc """
Return true if `user` is followed by `user2`
"""
def followed_by?(user, user2) do
end
@doc """
`user` follows `user2`
"""
def follow(user, user2) do
end
@doc """
`user` unfollows `user2`
"""
def unfollow(user, user2) do
end
end
Scheme Follower:
schema "followers" do
belongs_to :followed, User
belongs_to :follower, User
timestamps()
end
source
share