我很沮丧..。我为这两个值添加了JoinColumn,但是它输出
缺少GameBackend\Entity\交叉火\Fame上主键传真点的值
Character.php
/**
* @var Fame
*
* @ORM\OneToOne(targetEntity="Fame")
* @ORM\JoinColumn(name="LEV", referencedColumnName="FAME_GRADE")
*/
private $level = 0;
/**
* @return Fame
*/
public function getLevel()
{
return $this->level;
}
/**
* @param Fame $level
* @return self
*/
public function setLevel($level)
{
$this->level = $level;
return $this;
}Fame.php
{
/**
* @var integer
*
* @ORM\Column(name="USN", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $usn;
/**
* @var integer
*
* @ORM\Column(name="FAME_POINT", type="integer", nullable=false)
*/
private $famepoint = 0;
/**
* @var integer
*
* @ORM\Column(name="FAME_GRADE", type="integer", nullable=false)
*/
private $famelevel = 0;
/**
* @return int
*/
public function getId()
{
return $this->usn;
}
/**
* @param int $usn
* @return self
*/
public function setId($usn)
{
$this->usn = $usn;
return $this;
}
/**
* @return string
*/
public function getfamepoint()
{
return $this->famepoint;
}
/**
* @param string $famepoint
* @return self
*/
public function setfamepoint($famepoint)
{
$this->famepoint = $famepoint;
return $this;
}
/**
* @return int
*/
public function getfamelevel()
{
return $this->famelevel;
}
/**
* @param int $famelevel
* @return self
*/
public function setfamelevel($famelevel)
{
$this->famelevel = $famelevel;
return $this;
}
}注意:我对此比较陌生,我完全不知道是什么导致了这个问题,我已经阅读了多个主题,到目前为止没有什么帮助我。
致以亲切的问候。
发布于 2017-09-05 11:06:13
您的注释中的referencedColumnName应该是用于连接此关系的主密钥标识符的名称,如http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html中所述,而您的$famelevel实际上不是。我相信您应该在您的关联中引用$usn字段,因为它是您所加入的名称实体的实际主键。希望这会有帮助!
https://stackoverflow.com/questions/46045580
复制相似问题