多种型号,同样的锂电池表

时间:2012-07-30 01:48:22

标签: php activerecord lithium

我在表中有一堆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,它会自动给我一个对象列表,其中每个对象的类对应于实际记录的类型。

如果没有太多的黑魔法,这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

是的(一切皆有可能),但你的方法可能过于雄心勃勃。在我的POV中,我依靠@class RR来处理目标表的基本查询,但是使用RR上的过滤器(特别是从find继承的Model方法),您可以将实例传递给新实例化的类(SOA,CNAME等等)以及它们在表中的位置(因此SOA对象仅与该特定记录或主键相关联)。

有一些黑魔法正在发生,但是锂核心开发者没有考虑到这一点。

底线,你的表的1个基类(RR模型),多个(可能是从与模型无关的另一个基础继承),用于SOA,CNAME等...,以及一个过滤器(真正放在任何地方)来干预RR: :找到和/或后期绑定的RR :: findby *

这有意义吗?

(这个将需要一些试验和错误。首先看看你是否可以操纵数据输出,之后剩下的就是黄油了)