sql >> データベース >  >> RDS >> PostgreSQL

Rails 4 / postgresql-別のテーブルデータに基づいてテーブルにデータを挿入します(after_create)

    コードにタイプミスがあるようです。接続はActiveRecord::Base.connectionである必要があります しかし、あなたはDealPrize.connection.executeを書きました 。

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

    次のようにコードを変更してみてください

    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. Oracle PLSQLで自己終了xmlタグを取得するにはどうすればよいですか?

    2. 警告:mysqli_connect():(HY000 / 1049):Mac端末でのみ不明なデータベース

    3. mysqlのトリガーの代わりに

    4. MySQLでNULL値のないレコードを選択する方法