我的实体类是:
/**
* @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();
}
当我使用命令' doctrine:generate:entities'时,生成的方法被错误命名:
/**
* 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;
}
我如何使用addIdTipoVentita而不是addIdTipoVenditum,removeIdTipoVendita而不是removeIdTipoVenditum?
更新
问题在于,学说不能正确地生成我的实体!它使用doctrine inflector组件生成方法名称并添加这些后缀。如何以正确的方式配置它?
答案 0 :(得分:0)
Riccardo,您应该用英语命名您的房产。 你应该知道你处于一个Object世界,你使用的是对象而不是object_ids。
因此,实体TipiVendita
的名称应为SellType
(英文,单数)。
虽然我知道`idTipoVendita'字段应该强制与SellType和Agents建立N-M关系,所以应该命名为sellTypes(英文,复数,因为它是一个集合)。
长话短篇idTipoVendita
- 作为收藏的一个字段,被视为一个复数形式,并在idTipoVenditum中被单一化(就像“课程”和“课程”)。
最好的问候。