Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][SF] Modyfikacja CRUD
basso
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 1
Dołączył: 12.12.2010

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


Witam.
Wygenerowałem sobie Cruda. I teraz chcę zrobić jedną rzecz.
Mam o to poniższy screen dodawania elementu. I problem w tym taki, że chcę wyrzuć stąd te nieszczęsne pole daty.
Zatem w

  1. public function buildForm(FormBuilderInterface $builder, array $options)
  2. {
  3. $builder
  4. ->add('title')
  5. ->add('lead')
  6. ->add('description')
  7. ->add('createdAt')
  8. ;
  9. }


usunąłem ->add('createdAt'). I jest wszystko okej, bo znikło z formularza. Ale gdy zapisuje to dostaje mi tam do bazy null i wyskakuje błąd. No bo null nie może być.
Próbowałem zatem w jakiejś metodzie z Entity np setDescription wrzucić $this->setCreated aby mi tam dodało datę, tam dałem date("Y-m-d",time()).
No ale błędy, bo wiecznie format coś tam... ;/
Pytanie:
1. Czy muszę całość zapisania zrobić od nowa w EntityRepository nadpisując tą wygenerowaną metodę?
2. Czy można jakoś to krócej zrobic?

(IMG:http://s.z.w.interia.pl/forumphp/crud.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


W SF2 służą do tego lifcycleCallbacks (w tym przypadku prePersist)
  1. /**
  2.  * @ORM\Entity
  3.  * @ORM\HasLifcycleCallbacks
  4.  */
  5. class Post {
  6.  
  7. /**
  8.   * @ORM\Id
  9.   * @ORM\Column(type="integer")
  10.   * @ORM\GeneratedValue
  11.   */
  12. protected $id;
  13.  
  14. /**
  15.   * @ORM\Column(type="datetime")
  16.   */
  17. protected $createdAt;
  18.  
  19. /**
  20.   * @ORM\PrePersist
  21.   */
  22. public function setCreatedAtValue() {
  23. if(!$this->createdAt) {
  24. $this->createdAt = new \DateTime();
  25. }
  26. }
  27.  
  28. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 08:36