Php Trait中的Symfony ORM注释';I don’我没有按预期工作
当我在类中使用Trait时,字段和方法会被添加,但ORM注释的一部分会丢失。Php Trait中的Symfony ORM注释';I don’我没有按预期工作,php,symfony,orm,doctrine-orm,traits,Php,Symfony,Orm,Doctrine Orm,Traits,当我在类中使用Trait时,字段和方法会被添加,但ORM注释的一部分会丢失。 示例: 文件:CommonFields.php Trait Commonfields { /** * @ORM\Column(name="test", type="string", length=255, nullable=true) */ private test; public function getTest() { return $this
示例:
文件:CommonFields.php
Trait Commonfields
{
/**
* @ORM\Column(name="test", type="string", length=255, nullable=true)
*/
private test;
public function getTest()
{
return $this->test;
}
public function setTest($test)
{
$this->test = $test;
}
}
文件:My.phpclass My
{
use CommonFields;
// ...the rest of My class
}
当我将实体与数据库同步时:php应用程序/控制台原则:schema:update--force
我丢失了@ORM注释中指定的“nullable”和“length”选项。
如果我在My类中定义了相同的字段和相关注释,它将按预期工作。在处理实体时,您可能应该使用映射的超类
我知道这是个老问题,但我也遇到了同样的问题,我通过清除缓存,然后
php应用程序/控制台原则:schema:update--force解决了它
希望有人觉得这有用。谢谢,但这不是我想要的。我从这里开始:我需要一个没有继承的解决方案。