sql >> Databasteknik >  >> RDS >> Mysql

När utför Rails frågan och laddas in i minnet?

var metod returnerar en ActiveRecord::Relation objekt, och i sig självt skickar inte detta objekt en databasfråga. Det är var du använder det här objektet som spelar roll. gå med metod också lazy laddar databasfrågan genom att använda den associerade tabellen, men bara laddar Hem tabell i minnet som associerad Användare bord krävs inte. Efteråt har du merge , vad fusion method does är ett enkelt sätt att använda ett namngivet scope på en sammanfogad modell. Något som

class Home < ActiveRecord::Base
  has_many :users
end

class User < ActiveRecord::Base
  belongs_to :home

  scope :available, ->{ where(available: true) }
end



  1. PHP &MySQL användarnamn skicka problem

  2. Månader mellan två datum fungerar

  3. Importera databas till MySQL eller MariaDB

  4. Dödläge i Oracle