插件模型:
class Plugin < ActiveRecord::Base
belongs_to :report
has_many :vulns
end
漏洞模型:
class Vuln < ActiveRecord::Base
belongs_to :plugins
end
我在 Rails 中执行以下操作:
#using * for now to select everything
@data = Plugin.select("*").joins(:vulns).where('plugins.id'=> plugin.plugin_id)
在终端中执行以下查询:
SELECT * FROM `plugins` INNER JOIN `vulns` ON `vulns`.`plugin_id` = `plugins`.`id` WHERE `plugins`.`id` = 186
这是正确的查询,但它没有从 vulns 表中选择内容。我知道这是正确的查询,因为我在 phpmyadmin 中尝试过,它也返回了 vulns 表上的数据。当我在 rails(使用<%= debug(@data) %>
)中执行此操作时,它仅显示插件表中的内容。
如何让它也从 vulns 表中选择所有内容?(每个插件都有多个漏洞)