I have an entity Task with a code field that needs to be populated with the first letter of its parent's name (entity Project) plus its own id field, but I have no id until the entity is persisted into the database, and in the postPersist method I can´t change the entity Task because these changes wouldn´t be persisted.
Here is my code:
class Project
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
}
class Task
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="code", type="string", length=255)
*/
private $code;
/**
* @ORM\ManyToOne(targetEntity="Project", inversedBy="tasks")
* @ORM\JoinColumn(name="project_id", referencedColumnName="id")
*/
private $project;
}
Anyone has any idea?
Thanks in advance.