Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][Doctrine2] PrePersist - zatrzymanie procesu dodawania rekordu
korniks
post 28.10.2012, 01:46:05
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 22.03.2012

Ostrzeżenie: (0%)
-----


Witam,

mam jeden problem z którym nie mogę sobie poradzić, mianowicie w modelu zanim zostanie dodany nowy rekord muszę przeprasować zawartość wczytanego pliku.

  1. /**
  2.   * @ORM\PrePersist()
  3.   * @ORM\PreUpdate()
  4.   */
  5. public function upload()
  6. {
  7. if (null === $this->file) {
  8. return;
  9. }
  10.  
  11. //testowy tekst który docelowo będzie wczytany z pliku
  12. $text = $this->parseText("tekst");
  13.  
  14. $this->setContent($text);
  15. $this->setName($this->file->getClientOriginalName());
  16.  
  17. unset($this->file);
  18.  
  19. }


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?

Ten post edytował korniks 28.10.2012, 01:53:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:02