Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance 原则2继承:GET方法在抽象子类中不返回任何数据_Inheritance_Symfony_Doctrine Orm_Abstract Class - Fatal编程技术网

Inheritance 原则2继承:GET方法在抽象子类中不返回任何数据

Inheritance 原则2继承:GET方法在抽象子类中不返回任何数据,inheritance,symfony,doctrine-orm,abstract-class,Inheritance,Symfony,Doctrine Orm,Abstract Class,我正在开发一个使用Symfony2框架的web应用程序,它使用Doctrine 2作为ORM 我有一个名为“Pregunta”的抽象类,它有五个子类。其中一个是名为“Selecion”的抽象类,它有两个子类:“SelUnica”和“SelMultiple” 如果我创建了“SelUnica”或“SelMultiple”的实例,则它们的GET方法工作正常,但如果我尝试获取类“Seleccion”的属性,则该方法不会返回任何数据,尽管已成功保存在数据库中。这只发生在属性上,因为类“Seleccion”

我正在开发一个使用Symfony2框架的web应用程序,它使用Doctrine 2作为ORM

我有一个名为“Pregunta”的抽象类,它有五个子类。其中一个是名为“Selecion”的抽象类,它有两个子类:“SelUnica”和“SelMultiple”

如果我创建了“SelUnica”或“SelMultiple”的实例,则它们的GET方法工作正常,但如果我尝试获取类“Seleccion”的属性,则该方法不会返回任何数据,尽管已成功保存在数据库中。这只发生在属性上,因为类“Seleccion”有一个关系,GET工作正常

SET方法也可以正常工作,如果我在GET方法中添加了一个“echo”,它就不会显示任何值

有什么想法吗

类别代码:


我认为您需要用@MappedSuperclass注释标记父抽象类。请参阅。

谢谢您的建议!我已将类选择更改为MappedSuperclass,但仍然无法工作。我需要超类Pregunta有一个鉴别器列,用于恢复集合的每个实例的子类类型。我应该把Pregunta类也改成MappedSuperclass吗?怎么办?不,Pregunta被标记为实体,不需要将其定义为@MappedSuperclass。您是否已定义实体元数据缓存,这将导致无法读取新配置?我已尝试使用以下命令清除所有缓存:app/console原则:cache:clear metadata,app/console原则:cache:clear query,app/console原则:cache:clear result。仍然不工作…正如@Gedrox建议的那样,我将类“Seleccion”更改为MappedSuperclass,在使用条令命令清除缓存后,仍然不工作。更改后的代码如下: