【问题标题】:how to extend an entity from one bundle to another bundle如何将实体从一个捆绑包扩展到另一个捆绑包
【发布时间】:2013-11-24 05:29:28
【问题描述】:

我已经创建了一个 symfony 包。我想单独为我的应用程序添加另一个包。所以现在我面临一个问题,即如何将实体从旧包扩展到新创建的包。我正常扩展它,但它给出了错误。

我有这两个包,

MyFirstBundle
MySecondBundle

MyFirstBundle 实体,

namespace My\FirstBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
 *
 * @ORM\Table(name="companies")
 * @ORM\Entity
 * @ORM\HasLifecycleCallbacks 
 */
class Company
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     *
     * @Groups({"list_companies", "company_details", "ad_details"})
     */
     private $id;

    /**
     * @ORM\Column(name="name", type="string", length=50, nullable=true)'
     *
     * @Groups({"ad_details"})
     */
     private $name;

MySecondBundle 实体,

namespace My\SecondBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use My\FirstBundle\Entity\Company as BaseCompany;

class Companies extends BaseCompany 
{
    public function __construct() {
        parent::__construct();
    }

}

我不确定我是否可以像这样扩展我的实体。使用此实体创建表单时出现错误

Class "MySecondBundle:companies" seems not to be a managed Doctrine entity. Did you forget to map it?

【问题讨论】:

    标签: symfony orm doctrine bundle


    【解决方案1】:

    您还需要为第二个实体添加教义注释。

    /**
     *
     * @ORM\Table(name="companies")
     * @ORM\Entity
     * @ORM\HasLifecycleCallbacks 
     */
    class Companies extends BaseCompany 
    {
        public function __construct() {
            parent::__construct();
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 2012-02-19
      • 2016-04-03
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      相关资源
      最近更新 更多