我已经为我的表remuneration
创建了ORM文件。我已经为相同的ORM文件创建了表单类型文件。我曾经使用以下命令生成实体“ ClientRemuneration”:
php bin/console doctrine:generate:entities AppBundle/Entity/ClientRemuneration
但是,它不起作用并引发此错误:
类“ DatumGraph \ Spade \ MasterBundle \ Entity \ ClientRemuneration”不是 有效实体或映射的超类”。
请帮我解决这个问题。
答案 0 :(得分:3)
由于在类上缺少@ORM\Entity
注释,Doctrine会引发您提到的异常。
有关更多信息,请查看官方的学说Symfony文档:https://symfony.com/doc/current/doctrine.html
定义真实实体:
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class ClientRemuneration extends BaseUser
{
// ...
}
如下定义超类:
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\MappedSuperclass
*/
abstract class BaseUser
{
// ...
}
生成实体(获取器和设置器):
如果您使用的是symfony应用程序版本> 4.0 ,则应使用bin/console make:entity --regenerate
生成实体。
否则,您应该使用bin/console doctrine:generate:entities
命令。
生成实体(php类):
如果您正在使用symfony应用程序版本> 4.0 ,则应使用bin/console make:entity
生成实体。
否则,您应该使用bin/console doctrine:generate:èntity
命令。