Php Symfony2.8表单集合类型字段多对多

Php Symfony2.8表单集合类型字段多对多,php,symfony,Php,Symfony,在我的模型jai中,实体块及其位置的关系定义如下: /** * @var string * * @ORM\Column(name="Reference", type="string", length=255) */ private $reference; /** * Bidirectional * * @ORM\ManyToMany(targetEntity="Remplacement", inversedBy="origine",cascade="all", orph

在我的模型jai中,实体块及其位置的关系定义如下:

/**
  * @var string
  *
  * @ORM\Column(name="Reference", type="string", length=255)
  */
private $reference;

/**
 * Bidirectional 
 *
 * @ORM\ManyToMany(targetEntity="Remplacement", inversedBy="origine",cascade="all", orphanRemoval=true)
 * @ORM\JoinTable(name="piece_remplace",
 *   joinColumns={@ORM\JoinColumn(name="id_org", referencedColumnName="id")},
 *   inverseJoinColumns={@ORM\JoinColumn(name="id_gen", referencedColumnName="id")}
 * )
 */
protected $generique;

/**
 * @var string
 *
 * @ORM\Column(name="Reference_g", type="string", length=255)
 */
private $referenceG;


我与CRUD symfony合作,从CollectionType获得一件及其更换件 展品效果良好,剩余部分为:

工件类型:


让我解释一下:您有两种表单类型
PieceType
RemplacementType

PieceType
中,添加一个条目类型为
RemplacementType
的集合。 在
RemplacementType
中,添加条目类型为
PieceType
的集合

它们都
允许添加
并构建原型表单。因此:

  • 表单生成器生成
    PieceType
    (*)
  • PieceType
    有一个集合字段,它创建原型
  • 原型使用
    RemplacementType
  • 表单生成器生成
    RemplacementType
  • RemplacementType
    有一个集合字段,用于创建原型
  • 原型使用
    PieceType
  • 表单生成器生成
    PieceType
    (*)
  • …等等(循环调用->无限形式级别)

为了避免这种情况,其中一个必须禁用通过添加选项添加另一个:
'allow_add'=>false,'prototype'=>false'

,那么您的问题到底是什么?尝试编辑您的问题,以更清楚地了解您试图实现的目标以及为什么它不起作用。谢谢,不起作用:我无法修改和删除(CRUD)片段及其替换,编辑和删除不起作用,我想我认为问题出在标准集合类型上。我遵循了相同的错误,谢谢猪球,您理解,但它还不起作用,当我编辑它时,该页面不显示任何内容(空白页面)。这取决于您的控制器、视图以及您在视图中呈现表单的方式。给我看看你的控制器和你的视图,希望我能看到问题。猪球,谢谢你看到控制器进行编辑和视图编辑上面,问题是我不能显示编辑视图
/**
 * Bidirectional 
 *
 * @ORM\ManyToMany(targetEntity="Piece", mappedBy="generique")
 */
protected $origine;