2017-08-17 38 views
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'); 
+0

取讀通過FOSUserBundle。它展示瞭如何擴展一個用戶實體。我忘記了所有涉及的內容,但文檔將引導您閱讀它。 – Cerad

+1

ExtendTranslation類是否具有定義表的Doctrine Entity註釋?當有兩個具有相同表名聲明的實體時,會出現該錯誤。 – tlorens

+1

也許[文檔](http://docs.sylius.org/en/latest/customization/index.html)可以提供幫助嗎?有一部分用於擴展模型。 – ccKep

回答