は、これらのモデルを想像してみて:これら3つの関連モデルをどのようにクエリできますか?
class User
belongs_to :profile
# has email here
end
class Profile
has_one :user
# has first_name,last_name
end
と
class Post
belongs_to :profile
# has title,content
end
さて、私は、ユーザーの電子メールのすべての投稿をして(LIKE "%のサブストリング%" を行う)照会したいと思います。私はそれが非常に非効率的なコードを生成すると思うので、map/selectで書く必要はありません。
class Post
def self.with_user_email_like(email)
self.joins(:profile).where("profile.email LIKE ?","%#{email}%")
end
end
事は、私は上記の条件でprofile.user.emailを持っている必要があり何とか知っているが、私はちょうどそれが仕事を得ることができないです:私はそのような何かを試してみました。助言がありますか?
あなたの記事は、モデルのプロファイルまたはユーザーにasociatedていますか?また、ユーザーテーブルまたはプロファイルテーブルにメールがありますか? – Suborx
投稿はプロフィールに関連付けられています。電子メールはユーザーテーブルにあります。 – Geo