sql >> Databáze >  >> RDS >> PostgreSQL

Rails 4 / postgresql - vložení dat do tabulky na základě dat jiné tabulky (after_create)

Zdá se, že máte v kódu překlep. Připojení by mělo být ActiveRecord::Base.connection ale napsali jste DealPrize.connection.execute .

connection = ActiveRecord::Base.connection
connection.execute "sql query"

Zkuste změnit svůj kód jako

after_create :create_deal_prizes

def create_deal_prizes
  Deal.transaction do
    connection = ActiveRecord::Base.connection
    self.prizes_number.times do |i|
      connection.execute "INSERT INTO ‘deal_prizes’ (deal_id) values (self.deal.id)"
    end
  end
end


  1. Jak vypočítám klouzavý průměr pomocí MySQL?

  2. Sequelize Migration:vztah <table> neexistuje

  3. Proč tato uložená procedura vkládá hodnoty NULL do tabulky?

  4. Extrakce podřetězců MySQL pomocí oddělovače