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
Php 我可以使用Doctrine2和symfony在数据库中持久化抽象类吗_Php_Symfony_Doctrine Orm_Abstract Class_Persist - Fatal编程技术网

Php 我可以使用Doctrine2和symfony在数据库中持久化抽象类吗

Php 我可以使用Doctrine2和symfony在数据库中持久化抽象类吗,php,symfony,doctrine-orm,abstract-class,persist,Php,Symfony,Doctrine Orm,Abstract Class,Persist,我有这个班级结构 UserInterface--抽象类用户扩展UserInterface 班主任扩展用户 现在我正在使用类表继承 因此,在dtabase中,我有两个表User和Teacher以及FK to User 我坚持这样的抽象类 /** * @ORM\Entity(repositoryClass="xxxx\UserBundle\Repository\UserRepository") * @ORM\HasLifecycleCallbacks * @ORM\Table(name="us

我有这个班级结构

UserInterface
--
抽象类用户扩展UserInterface

班主任扩展用户

现在我正在使用类表继承

因此,在dtabase中,我有两个表
User
Teacher以及FK to User

我坚持这样的抽象类

/**
 * @ORM\Entity(repositoryClass="xxxx\UserBundle\Repository\UserRepository")
 * @ORM\HasLifecycleCallbacks
 * @ORM\Table(name="user")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"puser" = "User", "teacher" = "Teacher"})
 */
abstract class User implements UserInterface, GroupableInterface
{

我想知道我做得对吗?

作为一个抽象的阶级,你不能用教义来坚持它。您可以持久化扩展抽象类的类,在本例中抽象类是Teacher。

但它工作正常。此捆绑包还使用了在PHP中无法执行的
new AbstractClass()
,这是不可能的。在您的情况下,您不能执行
newuser()