Php Symfony2原则:生成:实体错误方法名称

Php Symfony2原则:生成:实体错误方法名称,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我的实体类是: /** * @var integer * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var \Doctrine\Common\Collections\Collection * * @ORM\ManyToMany(targetEntity="AppBundle\Entity

我的实体类是:

/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;

/**
 * @var \Doctrine\Common\Collections\Collection
 *
 * @ORM\ManyToMany(targetEntity="AppBundle\Entity\TipiVendita", inversedBy="idAgente")
 * @ORM\JoinTable(name="tipi_vendita_agenti",
 *   joinColumns={
 *     @ORM\JoinColumn(name="id_agente", referencedColumnName="id")
 *   },
 *   inverseJoinColumns={
 *     @ORM\JoinColumn(name="id_tipo_vendita", referencedColumnName="id")
 *   }
 * )
 */
private $idTipoVendita;

/**
 * Constructor
 */
public function __construct()
{
    $this->idTipoVendita = new \Doctrine\Common\Collections\ArrayCollection();
}
当我使用“条令:生成:实体”命令时,生成的方法被错误地命名为:

/**
 * Add idTipoVendita
 *
 * @param \AppBundle\Entity\TipiVendita $idTipoVendita
 * @return Agenti
 */
public function addIdTipoVenditum(\AppBundle\Entity\TipiVendita $idTipoVendita)
{
    $this->idTipoVendita[] = $idTipoVendita;

    return $this;
}

/**
 * Remove idTipoVendita
 *
 * @param \AppBundle\Entity\TipiVendita $idTipoVendita
 */
public function removeIdTipoVenditum(\AppBundle\Entity\TipiVendita $idTipoVendita)
{
    $this->idTipoVendita->removeElement($idTipoVendita);
}

/**
 * Get idTipoVendita
 *
 * @return \Doctrine\Common\Collections\Collection 
 */
public function getIdTipoVendita()
{
    return $this->idTipoVendita;
}
我如何才能添加IPOVENTA而不是添加IPOVENDITUM,删除IPOVENDITA而不是删除IPOVENDITUM

更新


问题是条令不能正确生成我的实体!它使用doctrine拐点组件生成方法名称,并添加此类后缀。如何以正确的方式配置它?

Riccardo,您应该用英语命名您的属性。 您应该意识到,您身处一个对象世界,您使用的是对象,而不是对象ID

因此,实体
TipiVendita
的名称应该类似于
SellType
(英语,单数)

而“idTipoVendita”字段,如果我理解的话,应该与SellType和Agents保持N-M关系,因此它应该被命名为类似sellTypes的名称(英语,复数,因为它是一个集合)

长话短说idTipoVendita——将一个字段作为一个集合,被视为复数形式,在idTipoVenditum中被单数化(就像“课程”和“课程”)


向您致意。

里卡多,您应该用英语命名您的房产。 您应该意识到,您身处一个对象世界,您使用的是对象,而不是对象ID

因此,实体
TipiVendita
的名称应该类似于
SellType
(英语,单数)

而“idTipoVendita”字段,如果我理解的话,应该与SellType和Agents保持N-M关系,因此它应该被命名为类似sellTypes的名称(英语,复数,因为它是一个集合)

长话短说idTipoVendita——将一个字段作为一个集合,被视为复数形式,在idTipoVenditum中被单数化(就像“课程”和“课程”)


致以最诚挚的问候。

将光标放在
addIdTipoVenditum
之后,按backspace两次,然后按
a
。对
removedtipovenditum
执行相同的操作。完成。怎么了?是的,我不笨。当我尝试使用尝试调用addIdTipoVenditum和/或RemoveidTipoVenditums的表单时,真正的问题出现了。您没有描述这个问题,因为问题不是条令的命令,而是表单。实体管理直接由条令进行。如果实体正确生成,就不会有问题。您可以根据需要修改实体,因此这不是条令的问题。条令的命令只是一个辅助工具。将光标放在
addIdTipoVenditum
后面,按backspace两次,按
a
。对
removedtipovenditum
执行相同的操作。完成。怎么了?是的,我不笨。当我尝试使用尝试调用addIdTipoVenditum和/或RemoveidTipoVenditums的表单时,真正的问题出现了。您没有描述这个问题,因为问题不是条令的命令,而是表单。实体管理直接由条令进行。如果实体正确生成,就不会有问题。您可以根据需要修改实体,因此这不是条令的问题。教条的命令只是一个辅助工具。谢谢你。我直接从db创建了实体,名称是由条令生成的,而不是由meOk生成的,由您修改实体属性的名称,然后使用条令:generate:entity获得正确的构造函数,获取者和设置者。属性名称严格地绑定到条令注释的
inversedBy
mappedBy
,因此您必须相应地更改它们谢谢您。我直接从db创建了实体,名称是由条令生成的,而不是由meOk生成的,由您修改实体属性的名称,然后使用条令:generate:entity获得正确的构造函数,getter和setter。属性名称严格绑定到条令注释的
inversedBy
mappedBy
,因此您必须相应地更改它们