1
我在\vendor
文件夾中有一個實體,我無法更改/觸摸,但是當我在項目中使用它時,我需要爲該對象添加一個參數(description
)。從供應商文件夾中擴展實體
所以我有代碼:
namespace SoftNation\Sylius\MyExtendBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use SoftNation\Sylius\ExtendBundle\Entity\ExtendTranslation;
/**
* @ORM\Table(name="softnation_sylius_extend_translation")
*/
class MyExtendTranslation extends ExtendTranslation
{
/**
* @ORM\Column(type="text")
*/
protected $description;
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
}
現在當我嘗試:
bin/console doctrine:migrations:diff
我得到一個錯誤:
[Doctrine\DBAL\Schema\SchemaException]
The table with name
'shop_beta_dev.softnation_sylius_extend_translation' already exists.
所有我想要的是,我可以這樣做:
$extend = new ExtendTranslation;
$extend->setDescription('StackOverflowRocks');
取讀通過FOSUserBundle。它展示瞭如何擴展一個用戶實體。我忘記了所有涉及的內容,但文檔將引導您閱讀它。 – Cerad
ExtendTranslation類是否具有定義表的Doctrine Entity註釋?當有兩個具有相同表名聲明的實體時,會出現該錯誤。 – tlorens
也許[文檔](http://docs.sylius.org/en/latest/customization/index.html)可以提供幫助嗎?有一部分用於擴展模型。 – ccKep