0
大家早上好!是一种形式。symfony2中的复选框字段
类ReleasesType:
$builder
->add('doid', 'text')
->add('dourl', 'text')
->add('artists', 'entity', array(
'class' => 'MReleaseCoreBundle:Artists',
'property' => 'name',
'expanded' => true ,
'multiple' => true
));
Сonnection与他们一到多:
级 '艺术家':
/**
* @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);
}
}
连接正常工作,所有输出。但不“检查”。可能是什么问题? 谢谢!
我的方法:
– Konstantin@Konstantin:等等?我听不懂你在说什么。工作中?不工作?有什么问题?请帮我理解:P – DonCallisto
英文不好:) 找出问题所在。 Getter不需要显示标题是: $ artists [] = $ p-> getArtists() - > getName(); 取代 $艺术家[] = $ p-> getArtists(); – Konstantin