find all that are nil in the association

前端 未结 7 1154
不知归路
不知归路 2021-02-04 09:01

So I have a Post and a User.
Post has_many users and a user belongs_to a post.
I need a find that will find all the Posts that dont have any users like the following:

7条回答
  •  余生分开走
    2021-02-04 09:29

    something like that:

    p = Post.arel_table
    u = User.arel_table
    
    posts = Post.find_by_sql(p.join(u).on(p[:user_id].eq(u[:p_id])).where(u[:id].eq(nil)).to_sql) 
    

提交回复
热议问题