おはようございます!の形です。
クラス リリース タイプ:
$builder
->add('doid', 'text')
->add('dourl', 'text')
->add('artists', 'entity', array(
'class' => 'MReleaseCoreBundle:Artists',
'property' => 'name',
'expanded' => true ,
'multiple' => true
));
それらとの1対多の接続:
クラス「アーティスト」:
/**
* @ORM\OneToMany(targetEntity="ReleasesArtists" , mappedBy="artists" , cascade={"all"})
* */
private $da;
public function __construct() {
$this->da = new \Doctrine\Common\Collections\ArrayCollection();
}
クラス 'ReleasesArtists':
/**
* @ORM\ManyToOne(targetEntity="Releases", inversedBy="da")
* @ORM\JoinColumn(name="releases_id", referencedColumnName="id")
* */
private $releases;
/**
* @ORM\ManyToOne(targetEntity="Artists", inversedBy="da")
* @ORM\JoinColumn(name="artists_id", referencedColumnName="id")
* */
private $artists;
そしてもちろん、エンティティ「リリース」:
/**
* @ORM\OneToMany(targetEntity="ReleasesArtists" , mappedBy="releases", cascade={"all"} , orphanRemoval=true)
*/
private $da;
public function getArtists() {
$artists = new ArrayCollection();
foreach($this->da as $p) {
$artists[] = $p->getArtists()->getName();
}
return $artists;
}
public function addDa($da) {
$this->da[] = $da;
}
public function setArtists($artists) {
foreach($artists as $p) {
$po = new \MRelease\CoreBundle\Entity\ReleasesArtists();
$po->setReleases($this);
$po->setArtists($p);
$this->addDa($po);
}
}
接続は正しく機能しており、すべての出力。しかし、「チェック」しません。問題は何でしょうか?ありがとう!