Symfony - zapis danych do bazy

0

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

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

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

Post::create($data)

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

2
  1. No to se stwórz taką metodę w repozytorium.
  2. Normalnie, przez walidator.
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.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1