Details
Description
Hi. I noticed a minor bug in the generate:entities console task. I've got a Region entity that had the following property:
/** * @ORM\OneToMany(targetEntity="District", mappedBy="region") */ private $districts; public function __construct() { $this->districts = new ArrayCollection(); }
When I ran the generate:entities task it created the following methods:
/** * Add districts * * @param Fenix\StudyBundle\Entity\District $districts */ public function addDistricts(\Fenix\StudyBundle\Entity\District $districts) { $this->districts[] = $districts; } /** * Get districts * * @return Doctrine\Common\Collections\Collection */ public function getDistricts() { return $this->districts; }
The second method's name is correct, but what about addDistricts? Since it allows me to add a single District entity it should be as follows:
/** * Add district * * @param Fenix\StudyBundle\Entity\District $district */ public function addDistrict(\Fenix\StudyBundle\Entity\District $district) { $this->districts[] = $district; }
In other words, the term after "add" (as well as the parameter's name) should be the entity's name, not the property's one.
The problem is that making singular out of a word is not an easy task and i will not try to make this work somehow. The Entity Generator result is a helper, not necessarily generating the final result of a class. This is one case where the Code Generation will not nmake you happy, so just change it.