4
我正在编写一个非常轻量级的ActiveRecord实现。我有基本的工作,但我想实现至少一对一的关系的急切加载。我一直在用干净的方式集思广益。干净的方式来实现活跃记录样式ORM的急切加载?
如果我急于加载一个一对一的关系,我将不得不知道两个表的列,并且必须按照某些约定来别名列,以便将结果映射回到正确的对象。
我在寻找关于如何将每个表的列别名化的建议,以便将它们映射回它们各自的对象是尽可能无痛的。
我最初的想法是将基表的列别名称为“base_column_name”,相关的表列作为“user_email”(如果“用户”是相关对象的名称)。有没有更好的方法来做到这一点,我忽略了?
我考虑过的第二个选项是将所有对象从基表中取出,然后使用基表中的键将相关对象收集到一个“WHERE IN”中。但是,这会造成性能问题吗?