php-Symfony2-使用其他属性保存多个
我有一个表格,其中有一个实体程序、一个实体组织和另一个程序组织,它们建立了第一个程序之间的关系 此实体ProgramOrganization与OneToMany/ManyToOne相关,因为它包含其他字段 问题在于表单显示正确,但当我想将其保存到数据库中时,我收到以下消息: 在关联上找到类型为…\NomBundle\entity\Organization的实体…\NomBundle\entity\Program\ProgrammeOrganizations,但应为…\NomBundle\entity\ProgramOrganization 我使用SensioGeneratorBundle和原则:shema:validate是正确的 另一方面,如果删除此关系,则所有内容都会正确保存 以下是我的代码摘录:(属性未翻译) 实体计划:php-Symfony2-使用其他属性保存多个,php,symfony,many-to-many,entity,symfony-forms,Php,Symfony,Many To Many,Entity,Symfony Forms,我有一个表格,其中有一个实体程序、一个实体组织和另一个程序组织,它们建立了第一个程序之间的关系 此实体ProgramOrganization与OneToMany/ManyToOne相关,因为它包含其他字段 问题在于表单显示正确,但当我想将其保存到数据库中时,我收到以下消息: 在关联上找到类型为…\NomBundle\entity\Organization的实体…\NomBundle\entity\Program\ProgrammeOrganizations,但应为…\NomBundle\enti
/**
*@ORM\OneToMany(targetEntity=“ProgrammeOrganization”,mappedBy=“programme”)
*/
受保护的组织;
/**
*建造师
*/
公共函数构造()
{
$this->ProgrammeOrganizations=new\Doctrine\Common\Collections\ArrayCollection();
}
/**
*添加程序组织
*
*@param\…\…\Entity\ProgrammeOrganization$ProgrammeOrganizations
*@返回计划
*/
公共功能AddProgrammeOrganization(\…\Entity\ProgrammeOrganization$ProgrammeOrganizations)
{
$this->ProgrammeOrganizations[]=$ProgrammeOrganizations;
退还$this;
}
/**
*删除计划组织
*
*@param\…\…\Entity\ProgrammeOrganization$ProgrammeOrganizations
*/
公共功能移除ProgrammeOrganization(\…\…\Entity\ProgrammeOrganization$ProgrammeOrganizations)
{
$this->ProgrammeOrganizations->removeElement($ProgrammeOrganizations);
}
/**
*获取项目组织
*
*@return\doctor\Common\Collections\Collection
*/
公共功能GetProgrammeOrganizations()
{
返回$this->ProgrammeOrganizations;
}
我想您的错误就在这里,我看不到您的程序和组织之间的链接,但您的formtype表示我希望在$ProgrammeOrganizations变量上有一个与组织实体链接的表单,该变量声明为ProgrammeOrganization实体而不是Organization
->add('programmeOrganisations' , 'entity' , array(
'class' => 'NomBundle:ProgrammeOrganisation ' ,
'label' => 'Organisations list',
'property' => 'label' ,
'expanded' => false ,
'multiple' => true ,
))
我应该这样做。可能还有其他我没有注意到的错误评论不适用于扩展讨论;这段对话已经结束。