【问题标题】:Rails 3 - work with data from few tablesRails 3 - 处理来自几个表的数据
【发布时间】:2011-06-11 19:19:08
【问题描述】:

我正在解决一个问题,如何在一个表中适当地打印第二个表中的项目。

在“TabA”中,我有 id: 1 2 3 4

在“TabB”中,我有 tab_a_id: 2 3 3 3 3 3 4

具体来说,我的情况是这样的:

as_controller

@info_a = TabA.all(:joins => :bs, :conditions => ["city = ?", 0])

查看

  <% for info in @a %>
    <tr>
      <td><%= info.id %></td>
      <td><%= info.email %></td>
      <td><%= HERE I WOULD LIKE TO PRINT COUNT ITEMS FROM TabB ('bs' controller, 'b' model) %></td>
    </tr>
  <% end %>

我正在尝试找到如何打印,例如对于“TabA”中 ID 号为 3 的项目,“TabB”中的行数(在 TabB 中是值 3 的 5 倍)。

提前致谢!

编辑:解决方案 - info.tabb.size

【问题讨论】:

    标签: database ruby-on-rails-3 join view controller


    【解决方案1】:

    为什么不在 A 和 B 模型之间建立关联?这样,您可以这样做:a.b.count

    您的方法的问题是您从数据库中请求所有行,Rails 用 AR 对象包装它们,将它们放入数组中,然后计算它的大小。另一方面,count 告诉数据库计算结果并仅返回一个数字,因此速度要快得多。

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 2011-08-29
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多