一开始为我可怜的英语感到遗憾,我希望你能理解我。我在Symfony2中编写了一个简单的门户网站,并且需要使用MySQL与表之间建立关系,所有浏览互联网的方式都经过了测试,而且没有任何东西出现。下表。Symfony2的关系 - OneToOne?
http://i.stack.imgur.com/vR77x.png
http://i.stack.imgur.com/GDXDw.png
现在是,通过获得来自数据库的用户,我想一旦拉长到专业(职业),但它的名字联系在一起,甚至是一种选择?
一开始为我可怜的英语感到遗憾,我希望你能理解我。我在Symfony2中编写了一个简单的门户网站,并且需要使用MySQL与表之间建立关系,所有浏览互联网的方式都经过了测试,而且没有任何东西出现。下表。Symfony2的关系 - OneToOne?
http://i.stack.imgur.com/vR77x.png
http://i.stack.imgur.com/GDXDw.png
现在是,通过获得来自数据库的用户,我想一旦拉长到专业(职业),但它的名字联系在一起,甚至是一种选择?
如果我理解正确,您希望在您的实体之间创建OneToOne关系?
在播放机实体:
/**
* 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;
...
}
像这样的事情?
另外(从看你的桌子)也许你可能想要一个ManyToOne关系,而不是OneToOne?
仍然不起作用,我不知道是什么我做错了,代码如下 http://wklej.org/id/1797836/ http://wklej.org/id/1797837/ – Danon
你正在使用'inversedBy =“player”'但你的“ DanonaccVocations“实体不包含该属性。 另外,将'@ORM \ Entity()'注释添加到实体中并不会造成伤害。 – Restless
将'inversedBy =“player”'更改为'inversedBy =“vocationName”',添加了@ORM \ Entity()'注释并且没有任何东西,我测试它以便http://wklej.org/id/1797866/并获取' int 2'作为回答。 – Danon
[Symfony一对一关系]的可能重复(http://stackoverflow.com/questions/11190308/symfony-one-to-one-relation) – RiggsFolly