我有一个使用带有区分符列的单表继承的实体:
@ORM\DiscriminatorMap({1="Product", 2="User"})
鉴别符值(1, 2
)在我的生产和开发环境中有所不同,因此需要动态设置这些值。不幸的是,Doctrine annotation documentation中似乎没有这个选项。
直接在注释中使用环境似乎无效。例如,我尝试过:
@ORM\DiscriminatorMap('%discrimination_array%')
然后在discrimination_array
中定义doctrine.yaml
:
discrimination_array: '{%env(PRODUCT)%="Product", %env(USER)%="User"}'
以及.env
中的相应环境变量:
PRODUCT=1
USER=2
但是,教义会抛出类似的错误
将varchar值'%env(PRODUCT)%'转换为数据类型smallint时转换失败。>>
是否可以根据当前环境设置类别区分图?
如何获得基于当前环境设置的鉴别符图?我有一个使用带有区分符列的单表继承的实体:@ORM \ DiscriminatorMap({1 =“ Product”,2 =“ ...
这可以通过扩展特定实体的数据映射来完成。当注释被解析时,Doctrine fires an event: