Mysql
 sql >> Database >  >> RDS >> Mysql

INSERIRE più record utilizzando il record attivo di ruby ​​on rails

Il create il metodo accetta anche un array come parametro.

VoteRecord.create(
  [
    { :prospect_id => prospect.id, :state => "OH", :election_type => "GE", :election => "2011-11-08", :party => row[82], :participate => participated(row[82]) },
    { :prospect_id => prospect.id, :state => "OH", :election_type => "PR", :election => "2011-09-13", :party => row[81], :participate => participated(row[81]) }
    ...
  ]
)

Tuttavia, questo esegue comunque una query SQL per voce invece di una singola query SQL. È più efficiente, perché deve solo creare un singolo oggetto activerecord sotto il cofano.

Dalla pagina mysql (ma suppongo che dovrebbe essere lo stesso per altri db)