Symfony - zapis danych do bazy

Symfony - zapis danych do bazy
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

Cześć, czy jest jakiś sposób na szybki zapis danych do bazy w symfony? Chodzi o to żeby nie pisać

Kopiuj
$p = new Post()
$p->setTitle($data['title'])
$p->setContent($data['content'])
...

tylko zrobić to w sposób podobny jak w laravel

Kopiuj
Post::create($data)

i druga rzecz, pisząc api w symfony w jaki sposób mam sprawdzać poprawność otrzymywanych danych?

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
2
  1. No to se stwórz taką metodę w repozytorium.
  2. Normalnie, przez walidator.
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
1

Jeśli wysyłasz formularz, to skorzystaj z formularzy Symfony:
https://symfony.com/doc/current/forms.html
Przy tworzeniu formularzy podajesz mu parametr data_class, dzięki czemu po przesłaniu i zwalidowaniu formularza jest on automatycznie zapisywany.
Formularze mają swoje walidatory, ale możesz dodać własne asserty lub stworzyć własne klasy walidatora.

Jeśli przesyłasz jakiś model z danymi, to... skorzystaj z formularzy Symfony, bo one obsługują nie tylko encje :)

Jeśli dane przesyłasz obiekt w postaci tablicy albo, nie wiem, JSONa, to skorzystaj z serializera:
https://symfony.com/doc/current/components/serializer.html
On potrafi automatycznie przepisać dane z tablicy do odpowiedniego obiektu. Tylko tutaj musiałbyś napisać walidator albo dodać takowy w setterach.

tomanhez
  • Rejestracja: dni
  • Ostatnio: dni
0

Jeśli piszesz api od podstaw to polecam api-platform, walidacje itp masz tam juz zaimplementowane, wystarczy odrobina konfiguracji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.