基本上,我从表中获取元素的 id 并将其插入到另一个中。
vuln_id = ActiveRecord::Base.connection.execute("SELECT FROM BLAH WHERE ...")
pid = vuln_id.first
puts "=============================="
puts pid # this echos the ID
puts "=============================="
if pid.empty?
puts "pid is empty"
end
rd = Report.new(:plugin_id => pid, :report_id => report_id)
rd.save()
在 Rails 控制台中,当我这样做时
Report.dbaction(params)
它运行模型,这是输出
(0.3ms) SELECT STATEMENT.....
==============================
186
==============================
(3.0ms) BEGIN
SQL (0.3ms) INSERT INTO `report_data` (`created_at`, `report_id`, `updated_at`) VALUES ('2013-07-10 22:03:59', 6, '2013-07-10 22:03:59')
(33.9ms) COMMIT
它插入report_id
但不会将pid
值插入数据库,即使它存在。为什么是这样?
快速编辑:plugin_id 肯定存在于表中。我检查了三次。
这是模型文件的其余部分的样子
class Report < ActiveRecord::Base
belongs_to :site
has_many :plugins