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