14
Doctrine2:处理引用表中额外列的多对多的最佳方法
我想知道在Doctrine2中处理多对多关系的最佳,最简洁和最简单的方法是什么。 假设我们有一张像Metallica的Master of Puppets这样的专辑,上面有多首曲目。但请注意,一个曲目可能会出现在多张专辑中,例如Metallica的Battery一样-三张专辑都在这一曲目中出现。 因此,我需要的是专辑和曲目之间的多对多关系,使用带有一些其他列的第三张表(例如曲目在指定专辑中的位置)。实际上,正如Doctrine的文档所建议的那样,我必须使用双重一对多关系来实现该功能。 /** @Entity() */ class Album { /** @Id @Column(type="integer") */ protected $id; /** @Column() */ protected $title; /** @OneToMany(targetEntity="AlbumTrackReference", mappedBy="album") */ protected $tracklist; public function __construct() { $this->tracklist = new \Doctrine\Common\Collections\ArrayCollection(); } public function getTitle() { return $this->title; } public function getTracklist() { return $this->tracklist->toArray(); …
282
php
orm
model
doctrine
doctrine-orm