【发布时间】:2012-10-01 03:27:47
【问题描述】:
有没有一种方法可以根据检索到的数据用PDO::FETCH_CLASS 实例化一个子类?假设存在一个抽象类A,类B 和C 是A 的实现,以及我的表上一个名为classname 的字段将用于实例化正确的类。有可能吗?
【问题讨论】:
有没有一种方法可以根据检索到的数据用PDO::FETCH_CLASS 实例化一个子类?假设存在一个抽象类A,类B 和C 是A 的实现,以及我的表上一个名为classname 的字段将用于实例化正确的类。有可能吗?
【问题讨论】:
听起来你需要,PDO::FETCH_CLASSTYPE。 From the manual:
PDO::FETCH_CLASS:返回请求类的新实例, 将结果集的列映射到 班级。如果 fetch_style 包含 PDO::FETCH_CLASSTYPE(例如 PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) 那么类的名称是 根据第一列的值确定。
【讨论】:
PDO::FETCH_PROPS_LATE 设置属性之前调用__construct