显示 Rails 中多个表的数据
我有多个通过主键-外键关系相关的表。另外,我在这些表的顶部有彼此独立的模型。现在,我需要一个显示多个表中的数据的视图。我该怎么做?我应该使用每个表的属性创建一个虚拟模型吗?如果是这样,我该如何以及在哪里对这些多个表执行查询。任何代码片段都会有很大帮助。
为了更清楚,这里有一个例子。假设这些是下表。
表 1:pk、attr1、attr2、attr3、attr4、attr_fk_table2、attr_fk_table3、attr_fk_table4 表 2:
pk、attr1、attr2、attr3、attr4、attr5
表 3:pk、attr1、attr2、attr3
表 4:pk、attr1、attr2、
attr3表1、2、3、4的模型是独立的。我的意思是说在模型级别它们之间不存在 has_one 或 Belongs_to 关系。
现在我需要一个具有以下属性的视图
Table1:attr1、Table1:attr2、Table2:attr5、Table3:attr3、Table4: attr2
我该如何执行此操作?
谢谢
I have multiple tables that are related by primary key-foreign key relationship. Also, I have models that are independent of each other on top of these tables. Now, I need a view that displays the data from multiple tables. How should I do this? Should I create a dummy model with attributes from each of the table? If so, how and where do I perform the query to these multiple tables. Any code snippets will be of great help.
To be more clear, here is an example. Assume these are the following tables.
Table1: pk, attr1, attr2, attr3, attr4, attr_fk_table2, attr_fk_table3, attr_fk_table4
Table2: pk, attr1, attr2, attr3, attr4,attr5
Table3: pk, attr1, attr2, attr3
Table4: pk, attr1, attr2, attr3
Also the models of tables 1,2,3,4 are independent. I mean to say there is no has_one or belongs_to relation between them at the model level.
Now I need a view with the following attributes
Table1:attr1, Table1:attr2, Table2:attr5, Table3:attr3, Table4: attr2
How can I do this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 find_by_sql:
Use find_by_sql:
听起来您需要做的就是编写一个查询,将数据聚合到正确的结构中,然后简单地获取它:
您将以一系列行的形式返回数据,其中第 0 项是 table1.attr代码>等等。
It sounds like what you need to do is write a query that aggregates the data into the correct structure, then simply fetch it:
You'll get the data back as a series of rows where item 0 is
table1.attr
and so forth.