我创建了具有generalBundle
和Model
的单独Entity
。我的storeBundle
扩展了该捆绑实体。但是
app/console doctrine:schema:update --force
命令不会创建generalBundle
个字段。它只创建storeBundle
个额外创建的字段。我不知道哪里出错了可以有人建议吗?
我的generalBundle
模型类包含
namespace ste\GeneralBundle\Model;
use DateTime;
abstract class Share
{
protected $id;
protected $user;
protected $comment;
public function __construct()
{
$this->setCreatedAt(new \DateTime());
$this->setUpdatedAt(new \DateTime());
}
public function getId()
{
return $this->id;
}
public function setComment($comment)
{
$this->comment = $comment;
}
public function getComment()
{
return $this->comment;
}
}
我的generalBundle
实体类包含
namespace ste\ActivityBundle\Entity;
use ste\GeneralBundle\Model\Share as BaseShare;
class Share extends BaseShare
{
}
最后,我的StoreBundle
实体类包含
namespace ste\StoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Doctrine\Common\Collections\ArrayCollection;
use ste\GeneralBundle\Entity\Share as BaseShare;
/**
* ste\StoreBundle\Entity\Share
*
* @ORM\Table(name="shares")
*/
class Share extends BaseShare
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
}
此处protected $id;
提交的文件稍后会添加,因为我收到错误
No identifier/primary key specified for Entity "ste\StoreBundle\Entity\Share" sub class of "ste\GeneralBundle\Entity\Share". Every Enti
ty must have an identifier/primary key.
我的GeneralBundle > Resources> Config >Doctrine
包含文件Share.orm.xml
包含:
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="ste\GeneralBundle\Entity\Share" table="share">
<id name="id" column="id" type="integer">
<generator strategy="AUTO" />
</id>
<field name="user" column="user_id" type="integer" />
<field name="comment" column="comment" type="string" length="255" />
</entity>
</doctrine-mapping>
没有进行其他配置!任何线索?有什么要添加DependencyInjection
?
答案 0 :(得分:0)
我得到了答案。我必须在config.yml
这些行添加:
orm:
entity_managers:
default:
mappings:
steStoreBundle: ~
steGeneralBundle: ~
因为在我的情况下它是StoreBundle
以外的单独的捆绑包。