Php Symfony2关系-OneTONE?
一开始很抱歉我的英语不好,我希望你能理解我。我正在用Symfony2编写一个简单的门户,它需要用MySQL建立表之间的关系,所有的互联网浏览方式、测试方式都是如此,但什么都没有得到。下表Php Symfony2关系-OneTONE?,php,mysql,symfony,doctrine-orm,relationship,Php,Mysql,Symfony,Doctrine Orm,Relationship,一开始很抱歉我的英语不好,我希望你能理解我。我正在用Symfony2编写一个简单的门户,它需要用MySQL建立表之间的关系,所有的互联网浏览方式、测试方式都是如此,但什么都没有得到。下表 现在,是的,通过从数据库中获取用户,我想一次延伸到专业职业,但连同它的名称,甚至是一个选项?如果我理解正确,您想在您的实体之间创建一个一对一的关系 在玩家实体上: /** * Player * * @ORM\Table(name="players") * @ORM\Entity() */ class
现在,是的,通过从数据库中获取用户,我想一次延伸到专业职业,但连同它的名称,甚至是一个选项?如果我理解正确,您想在您的实体之间创建一个一对一的关系 在玩家实体上:
/**
* Player
*
* @ORM\Table(name="players")
* @ORM\Entity()
*/
class Player
{
/**
* @ORM\OneToOne(targetEntity="Vocation", inversedBy="player")
* @ORM\JoinColumn(name="vocation", referencedColumnName="id")
*/
private $vocation;
...
}
在度假的时候
/**
* Vocation
*
* @ORM\Table(name="vocations")
* @ORM\Entity()
*/
class Vocation
{
/**
* @ORM\OneToOne(targetEntity="Player", mappedBy="vocation")
*/
private $player;
/**
* @var string
*/
private $vocationName;
/**
* @var integer
*/
private $id;
...
}
像这样的
另外,通过查看您的表,您可能希望使用多通关系而不是单通关系?可能的重复关系仍然不起作用,我不知道我做错了什么,下面的代码是您使用的inversedBy=player,但您的Danonaccholidation实体不包含该属性。另外,将@ORM\Entity注释添加到实体中也不会有什么坏处。将inversedBy=player更改为inversedBy=cavityname,添加了@ORM\Entity注释,什么都没有,我对它进行了测试,得到了int 2的答案。你能分享你的职业实体在上次更改后的当前外观吗?你应该添加一个玩家属性,而不是使用职业名称作为关系。检查我编辑的答案。另外,您的列映射@ORM\Column在哪里?