实体 AdminBundle\Entity\Comptable 中的复合主键不允许使用单个 ID



>我创建了一个具有主键id的简单实体,当我尝试生成我的实体时,出现此错误:

[Doctrine\ORM\Mapping\MappingException] 实体管理捆绑包\实体\可组合中的复合主键上不允许使用单个 ID

下面是包含一些字段和我已经在数据库中创建的id值的实体:

<?php
namespace AdminBundleEntity;
use DoctrineORMMapping as ORM;
/**
* Comptable
*
* @ORMTable(name="comptable")
* @ORMEntity
*/
class Comptable
{
/**
* @var integer
* 
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
protected $id;

/**
* @var float
*
* @ORMColumn(name="salaire", type="float", precision=10, scale=0, nullable=true)
*/
private $salaire;
/**
* @var AdminBundleEntityPersonne
*
* @ORMId
* @ORMGeneratedValue(strategy="NONE")
* @ORMOneToOne(targetEntity="AdminBundleEntityPersonne")
* @ORMJoinColumns({
*   @ORMJoinColumn(name="Per_id", referencedColumnName="id")
* })
*/
private $per;
public  function __toString()
{
return $this->per->getPrenom().' '.$this->per->getNom();}

/**
* Set id
*
* @param integer $id
*
* @return Comptable
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set salaire
*
* @param float $salaire
*
* @return Comptable
*/
public function setSalaire($salaire)
{
$this->salaire = $salaire;
return $this;
}
/**
* Get salaire
*
* @return float
*/
public function getSalaire()
{
return $this->salaire;
}
/**
* Set per
*
* @param AdminBundleEntityPersonne $per
*
* @return Comptable
*/
public function setPer(AdminBundleEntityPersonne $per)
{
$this->per = $per;
return $this;
}
/**
* Get per
*
* @return AdminBundleEntityPersonne
*/
public function getPer()
{`enter code here`
return $this->per;
}
}

从"private $per;"中删除"@ORM\Id"。不支持多列复合标识符。

/**
* @var AdminBundleEntityPersonne
*
* @ORMId  <=== REMOVE THIS 
* @ORMGeneratedValue(strategy="NONE")
* @ORMOneToOne(targetEntity="AdminBundleEntityPersonne")
* @ORMJoinColumns({
*   @ORMJoinColumn(name="Per_id", referencedColumnName="id")
* })
*/
private $per;

相关内容

最新更新