Symfony 使用oneToMany和其他实体链接添加一个实体

Symfony 使用oneToMany和其他实体链接添加一个实体,symfony,doctrine-orm,doctrine,symfony-forms,Symfony,Doctrine Orm,Doctrine,Symfony Forms,我有三个实体: 一家公司 多酮C 我想添加一个有很多B的A(B列表都是C标题) 实体A: class A { /** * @ORM\OneToMany(targetEntity="B", mappedBy="a", cascade={"persist"}) */ private $listeB; public function addB(B $b) { $this->listeB[] = $b; $b->setA($this); return $

我有三个实体:

  • 一家公司
  • 多酮C
我想添加一个有很多B的A(B列表都是C标题)

实体A:

class A
{

 /**
 * @ORM\OneToMany(targetEntity="B", mappedBy="a", cascade={"persist"})
 */
private $listeB;

public function addB(B $b)
{
    $this->listeB[] = $b;
    $b->setA($this);
    return $this;
}

}
class B
{  

/**
 * @ORM\ManyToOne(targetEntity="A", inversedBy="listeB")
 * @ORM\JoinColumn(nullable=false)
 */
private $a;

/**
 * @ORM\ManyToOne(targetEntity="C")
 * @ORM\JoinColumn(nullable=false)
 */
private $c;

}
class C
{
/*
Classic, just have "title"
 * 
 */
}
实体B:

class A
{

 /**
 * @ORM\OneToMany(targetEntity="B", mappedBy="a", cascade={"persist"})
 */
private $listeB;

public function addB(B $b)
{
    $this->listeB[] = $b;
    $b->setA($this);
    return $this;
}

}
class B
{  

/**
 * @ORM\ManyToOne(targetEntity="A", inversedBy="listeB")
 * @ORM\JoinColumn(nullable=false)
 */
private $a;

/**
 * @ORM\ManyToOne(targetEntity="C")
 * @ORM\JoinColumn(nullable=false)
 */
private $c;

}
class C
{
/*
Classic, just have "title"
 * 
 */
}
实体C:

class A
{

 /**
 * @ORM\OneToMany(targetEntity="B", mappedBy="a", cascade={"persist"})
 */
private $listeB;

public function addB(B $b)
{
    $this->listeB[] = $b;
    $b->setA($this);
    return $this;
}

}
class B
{  

/**
 * @ORM\ManyToOne(targetEntity="A", inversedBy="listeB")
 * @ORM\JoinColumn(nullable=false)
 */
private $a;

/**
 * @ORM\ManyToOne(targetEntity="C")
 * @ORM\JoinColumn(nullable=false)
 */
private $c;

}
class C
{
/*
Classic, just have "title"
 * 
 */
}
如何填写表格

$builder->add('listeB', 'entity', array(
'class' => 'B',
'label' => 'Liste de B',
'expanded' => true,
'multiple' => true
));

是空的,并且是错误的,因为我想要C的复选框列表(用于外接程序B)。

如果是空的,可能是因为关系设置不好,或者您还没有任何B的持久化数据,对于复选框部分,您需要覆盖多选的默认symfony主题。如果为空,可能是因为关系设置不好,或者您没有任何B的持久化数据,对于复选框部分,您需要覆盖多选的默认symfony主题。