我正试图为我的Typo3 Flow项目设置一个基类。它应该包含"创建日期"one_answers"更新日期"。由于Doctrine允许您使用继承映射,所以我想使我的基类成为"MappedSuperclass"。
BaseClass.php:
/**
* @FlowEntity
* @ORMMappedSuperclass
*/
class BaseClass {
/**
* @var DateTime
* @ORMColumn(type="datetime")
*/
protected $created;
/**
* @var DateTime
* @ORMColumn(type="datetime")
*/
protected $updated;
...
Component.php:
/**
* @FlowEntity
* @ORMInheritanceType("SINGLE_TABLE")
*/
class Component extends BaseClass{
如果我尝试使用"流动原则:更新"命令,会弹出以下错误消息:
未捕获的异常实体"。。。\Domain\Model\BaseClass"没有方法"Flow_Aop_Proxy_fixMethods AndAdvicesArrayForDoctrineProxy"注册为生命周期回调。
那么,在TYPO3 Flow中使用模型继承是可能的吗?
我找到了一种方法。
只需将BaseClass抽象化,并添加所有其他注释,如下所示:
/**
* @FlowEntity
* @ORMMappedSuperclass
*/
abstract class BaseClass {
并像这样扩展您的模型:
/**
* @FlowEntity
* @ORMInheritanceType("SINGLE_TABLE")
*/
class SomeModel extends BaseClass{
SomeModel的表现在将具有BaseClass中的属性。但是BaseClass本身没有在数据库模式中表示。
也许你也能够将特征用于更复杂的解决方案。