如果您正在使用YML定義你的實體:
在Piercing.orm.yml補充:
manyToMany:
caretakings:
targetEntity: Caretaking
inversedBy: piercings
joinTable:
name: piercing_caretaking
joinColumns:
caretaking:
referencedColumnName: id
inverseJoinColumns:
piercing:
referencedColumnName: id
在Caretaking.orm.yml補充:
manyToMany:
piercings:
targetEntity: Piercing
mappedBy: caretakings
生成/更新通常方式的實體,即:
app/console doctrine:schema:update --dump-sql (to check results)
app/console doctrine:schema:update --force (to apply changes)
然後,當你有一個穿孔或看管實體可以訪問相關的實體是這樣的:
$piercing->addCaretaking($caretaking);
$caretakings = $piercing->getCaretakings();
...
$piercings = $caretaking->getPiercings();
欲瞭解更多信息,包括如何做到這一點使用說明,請參見小節5.1.4多對多, Doctrine文檔的Section 5 Association Mapping雙向。
感謝您的回答,它只是清除了我遇到的致命異常和不存在的功能問題。儘管我使用註釋而不是YAML,但很容易調整您的解決方案。 – nealio82 2012-06-19 19:51:16