Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2]Wiele danych z jednej tabeli w entity type
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Witam,

Chcę wyświetlić w formularzu dla pola entity wszystkie pola kolumny tego entity z bazy danych w formularzu przy radio button.
(kolumny takie jak opis, cena)
W tej chwili mogę pobrać tylko jedno pole (choice_label w form type), jak coś takiego zrobić przez entityType::class?

Domyślam się że pewnie będę musiał stworzyć nowe pole typu formularza, a może się jednak da przez entity type?

Pracuję na symfony 3.


edit:
Czy może najlepszym wyjściem jest pominięcie formularzy symfonowych i zrobienie tego w zwykłym htmlowym formularzu, a dane po prostu pobrać z bazy danych i ustawić w widoku ?

Może wyjaśnię to bardziej:

Chcę wyświetlić przy polu formularza 3 dane pochodzących z pola entity: nazwe, opis i cene.
Polem tym jest radio button. Normalnie mogę z tych danych pobrać tylko jedną daną, poprzez atrybut choice_label w formType.
W tym formularzu chcę wybrać metodę przesyłki gdzie opisem mają być te trzy dane umieszczone w różnych miejscach, wiem że trzeba będzie przygotować form_widget dla tego pola.

Ten post edytował Crash89 13.01.2017, 17:20:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


No to jaki problem w entity zrobić:

  1. public function getFullName(){
  2.  
  3. return $this->firstname.' '.$this->surname;
  4. }


A w formularzu:
  1. $builder->add('user', EntityType::class, ['class'=>'AppBundle:User', 'choice_label'=>'fullName']);


Drugie rozwiązanie, to dodanie callbacka w samym formularzu (gdy nie chcesz zaśmiecać encji nawet takimi metodami)
  1. 'choice_label' => function ($user) {
  2. return $user->getFirstname().' '.$user->getSurname();
  3. }
- jest to przecież wyraźnie opisane w dokumentacji.
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: 28.12.2025 - 09:54