【发布时间】:2025-12-08 10:55:01
【问题描述】:
我已经使用 Doctrine ORM 有一段时间了,我有一个类级属性(static 属性),我需要将它保存在 MySQL 数据库中,我想现在怎么办。
Class Student {
private $name;
public static $instances = array();
public __construct($name) {
$this->name = $name;
self::$instances[] = $this->name;
}
}
根据Documentation(Basic Mapping>Property Mapping):
将 PHP 类标记为实体后的下一步是将其属性映射到表中的列。
要配置属性,请使用
@Columndocblock 注释。 type 属性指定要用于该字段的 Doctrine Mapping Type。如果未指定类型,则默认使用字符串。
听起来学说只支持对象级属性。但正如标题“Basic Mapping”一样,我认为应该有某种类型的“Advanced Mapping”可能涵盖静态属性。我搜索了没有成功。
它也没有在Limitations and Known Issues列出
问题
有人请告诉我这是否可以在 Doctrine 2 中保持静态属性,如果不能,我应该如何完成这项任务? 有什么变通方法之类的吗?
【问题讨论】:
标签: php symfony orm doctrine-orm doctrine