0
我在應該使用id計算的實體中有字段。我試圖用這種方法解決這個問題:基於保存前的實體ID更新字段
/**
* Resources
*
* @ORM\Table(name="resources")
* @ORM\Entity(repositoryClass="MyTask\Core\Repository\ResourcesRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Resources extends BaseEntity
{
...
/**
* @return $this
* @ORM\PostPersist()
*/
public function generateHash()
{
$this->setHash(substr(md5($this->getId() . $this->getName()), 0, 8));
return $this;
}
但是不計算散列字段並保持爲空。你能告訴我如何解決這個問題嗎?
您是否包含了類的@HasLifecycleCallbacks註釋? – dk80
我加了HasLifecycleCallbacks,並且使用了斷點檢查了這個方法被執行了。 – Oleg
PrePersist之前使用過,但在這種情況下id爲null,並且散列不是唯一的,但可以訪問PrePersist ID。 – Oleg