一開始爲我可憐的英語感到遺憾,我希望你能理解我。我在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