保存模型时,有一些模型属性可以从数据库中获取它们的值,如:
当您插入记录(保存)时,它是否实际上在封面下进行2次调用,即插入然后选择?
答案 0 :(得分:0)
ActiveRecord在保存后不进行查询以获取该信息。我对ActiveRecord
的理解是它在内部维护了很多关于数据库结构的信息,例如所有列的名称和类型,以便它可以在模型中生成相应的方法。它也会知道默认值是什么,因此它可以在数据库设置它的同时在模型中设置它。
如果你绕过ActiveRecord
来重组数据库,这不是完全干的,会造成很多问题,但是用较少的数据库接触节省的开销是值得的。