Mysql Rails从Rails中的子表获取数据

Mysql Rails从Rails中的子表获取数据,mysql,ruby-on-rails,ruby,Mysql,Ruby On Rails,Ruby,我有三张像这样的桌子 使用者 公司 职位 用户结构 user_id | f_name | l_name | --------------------------- 1 | abc | xyz | --------------------------- #Model User has_many :companies 公司 company_id | user_id | company_name | ----------------------------------

我有三张像这样的桌子

  • 使用者
  • 公司
  • 职位
  • 用户结构

    user_id | f_name | l_name |
    ---------------------------
      1     |   abc  |  xyz   |
    ---------------------------
    #Model User
    has_many :companies
    
    公司

    company_id  |  user_id |  company_name  |
    -----------------------------------------
         1      |    1     |      otto      |
    -----------------------------------------
    #Model Company
    belongs_to :user
    has_many :posts, :foreign_key => :company_id
    
    职位

    我需要查看posts表中的post,该表由具有
    用户id 1
    且其公司id为1的用户创建


    我不知道这意味着什么,因为我是ruby on rails的新手。

    考虑到您已经获取了用户的公司id,问题的查询如下:

    @posts = User.find(1).companies.find(1).posts
    

    考虑到您已经获取了用户的公司id,对问题的查询如下:

    @posts = User.find(1).companies.find(1).posts
    

    假设公司ID是唯一的(而不是每个用户唯一的),您根本不需要查找用户

    posts = Company.find(1).posts
    

    假设公司ID是唯一的(而不是每个用户唯一的),您根本不需要查找用户

    posts = Company.find(1).posts
    

    解释您想要实现什么?我想要查看由
    user\u id 1
    company\u id 1
    创建的post表中的数据,这很简单:
    user.find(1).companys.find(1).posts
    例如,用户创建了10家公司,然后在10家公司下创建100篇文章?如果您希望用户为10家公司创建所有文章,那么
    posts=[];User.find(1).companys.map{c| posts解释您想要实现什么?我想查看由
    User_id 1
    &
    company_id 1
    创建的post表中的数据,这很简单:
    User.find(1).companys.find(1).posts
    例如,用户创建了10家公司,在10家公司下创建了100篇帖子?如果您希望用户为10家公司创建所有帖子,则
    posts=[];user.find(1).companys.map{c}posts