mam jeden problem z którym nie mogę sobie poradzić, mianowicie w modelu zanim zostanie dodany nowy rekord muszę przeprasować zawartość wczytanego pliku.
/** * @ORM\PrePersist() * @ORM\PreUpdate() */ public function upload() { if (null === $this->file) { return; } //testowy tekst który docelowo będzie wczytany z pliku $text = $this->parseText("tekst"); $this->setContent($text); $this->setName($this->file->getClientOriginalName()); }
Jeżeli zawartość pliku ma nieodpowiednią strukturę zostanie wyrzucony wyjątek. I tutaj jest problem, nie mam pojęcia jak zaniechać dodania nowego rekordu w przypadku gdy ten wyjątek się pojawi. Podobnie w przypadku gdy plik nie zostanie poprawnie wczytany, sam return w prepersist nie za wiele mi pomoże gdyż doctrine i tak spróbuje dodać nowy rekord, co spowoduje błąd bo pole "content" w bazie nie może być null. Istnieje możliwość zrobienia tego w modelu czy może jestem skazany na zrobienie tego w kontrolerze?