我在表中有一堆DNS记录,其中“type”列定义了给定记录的类型。
我希望在Lithium中有一个类模型层次代表这些记录,例如:
RR - base resource record (abstract - sort of)
RR_SOA - SOA record, extends RR
RR_CNAME - CNAME record, extends RR
... etc ...
每个记录都有一个类,都映射到同一个表。
接下来我想使用RR :: find,它会自动给我一个对象列表,其中每个对象的类对应于实际记录的类型。
如果没有太多的黑魔法,这甚至可能吗?
答案 0 :(得分:1)
是的(一切皆有可能),但你的方法可能过于雄心勃勃。在我的POV中,我依靠@class RR
来处理目标表的基本查询,但是使用RR
上的过滤器(特别是从find
继承的Model
方法),您可以将实例传递给新实例化的类(SOA,CNAME等等)以及它们在表中的位置(因此SOA对象仅与该特定记录或主键相关联)。
有一些黑魔法正在发生,但是锂核心开发者没有考虑到这一点。
底线,你的表的1个基类(RR模型),多个(可能是从与模型无关的另一个基础继承),用于SOA,CNAME等...,以及一个过滤器(真正放在任何地方)来干预RR: :找到和/或后期绑定的RR :: findby *
这有意义吗?
(这个