Doctrine でエンティティを永続化した後、画像のサイズを変更しようとしています。私のエンティティコードでは、フラッシュと更新の前にフィールドを特定の値に設定しています:
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function preUpload()
{
if (null !== $this->getFile()) {
// do whatever you want to generate a unique name
$filename = sha1(uniqid(mt_rand(), true));
$this->image = $filename.'.png';
}
}
したがって、画像フィールドは更新されるはずです。次に、コントローラーで、サイズ変更ジョブを実行したいと思います。
if ($form->isValid())
{
$em->persist($activite);
$em->flush();
//resize the image
$img_path = $activite->getImage();
resizeImage($img_path);
}
ただし、コードのこの時点では、$activite->image の値はまだ null です。どうすれば新しい値を取得できますか?
(すべてがデータベースに適切に保存されます。)