• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Symfony - zapis danych do bazy

0 głosów
129 wizyt
pytanie zadane 20 września 2020 w PHP przez mi-20 Stary wyjadacz (12,570 p.)

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?

3 odpowiedzi

+3 głosów
odpowiedź 20 września 2020 przez Ehlert Ekspert (205,590 p.)
Co do tworzenia obiektów. Metody prezentowane przez larvę są skuteczne i sprawdzają się w przypadku prostych case'ów. Mimo wszystko najlepiej, tworzyć obiekt samodzielnie. Nie używasz do tego magicznego create, wywołań x setterów. Tworzenie obiektu przez konstruktor, który wymaga parametrów pokazuje co jest konieczne do istnienia takiej struktury. Nierzadko ma to istotne znaczenie w modelowaniu realiów biznesowych w kodzie.

Aby przyspieszyć tworzenie możesz użyć swojego Type i zdefiniować data_class.

Tworząc api korzystasz z Type'ów tak jak dla formularzy HTML.
0 głosów
odpowiedź 20 września 2020 przez kevin Mądrala (5,010 p.)
A zobacz ApiPlatform https://api-platform.com/
komentarz 21 września 2020 przez Assasz Nałogowiec (30,490 p.)
O ile API Platform ma całkiem nieźle zintegrowanego serializera, który potrafi budować obiekty w locie, o tyle myślę, że będzie to za duży orzech do rozgryzienia dla kogoś, kto dopiero uczy się podstaw Symfony.
0 głosów
odpowiedź 21 września 2020 przez dayvu Obywatel (1,450 p.)
edycja 21 września 2020 przez dayvu

Jest na to prosty sposób, ale wygląda on trochę inaczej. Najprościej można do tego dojść w kilku prostych krokach:

1. Konfigurujemy połączenie z bazą (na początku testową oczywiście)

2. Uruchamiamy komendy

  • bin/console make:entity EntityName
  • bin/console make:migration
  • bin/console doctrine:migrations:migrate
  • bin/console make:crud EntityName

Dzięki temu wygenerujemy: klasy Entity, klasy Repository, klasy Controller (schemat CRUD), tabele w bazie.
Teraz sprawdzając wygenerowany kod, można łatwo do odpowiedzi na powyższe pytanie dojść.
Pomijam szczegóły typu instalacja dodatków do projektu, ale będzie widać podczas uruchamiania komend lub można doczytać w dokumentacji.

Podobne pytania

0 głosów
1 odpowiedź 96 wizyt
pytanie zadane 15 października 2016 w PHP przez Captivity Obywatel (1,030 p.)
0 głosów
1 odpowiedź 154 wizyt
pytanie zadane 26 września 2016 w PHP przez GaCeL Dyskutant (7,510 p.)
0 głosów
1 odpowiedź 7 wizyt

85,873 zapytań

134,644 odpowiedzi

298,914 komentarzy

56,739 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 926p. - rucin93
  2. 925p. - Whistleroosh
  3. 912p. - nidomika
  4. 876p. - adrian17
  5. 867p. - Michal Drewniak
  6. 866p. - Mikbac
  7. 863p. - Mateusz Bogdan
  8. 859p. - CC PL
  9. 797p. - Argeento
  10. 704p. - ScriptyChris
  11. 683p. - tokox
  12. 660p. - Vinox
  13. 645p. - TheLukaszNs
  14. 642p. - s. Dorota Kowalewska
  15. 601p. - Marcin Harasimowicz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...