Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [doctrine][Symfony2] Jak wyświetlić dane w szablonie
silverwind
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Moje Encje [User] one to many [Owner] one to many [Property] one to many [Tenant].

Połączyłem je w repozytorium User

  1. public function getQueryBuilder($User ){
  2. $qb = $this->createQueryBuilder('u')
  3. ->select('u,o,p,t')
  4. ->Join('u.owner','o')
  5. ->Join('o.property','p')
  6. ->Join('p.tenant','t')
  7. ->where('u.username = :user')
  8. ->setParameter('user', $User)
  9. ->getQuery()
  10. ->getArrayrResult();
  11.  
  12. return $qb;
  13. }


Chce wyświetlić je w szablonie.
Problem jest taki że nie wyświetlają mi się wszyscy właściciele użytkownika poniżej jest screen z dumpa.
http://zapodaj.net/7d28ba489cd03.gif.html



Go to the top of the page
+Quote Post
Riggs
post
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 13
Dołączył: 16.06.2007

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


Pokaż jeszcze kod encji, wtedy będzie łatwiej. W encji inicjalizujesz DoctrineCollection dla owner?
Go to the top of the page
+Quote Post
prz3kus
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

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


  1. public function getQueryBuilder($User ){
  2. $qb = $this->createQueryBuilder('u')
  3. ->select('u,o,p,t')
  4. ->Join('u.owner','o')
  5. ->Join('o.property','p')
  6. ->Join('p.tenant','t')
  7. ->where('o.username = :user')//zamiast u -> o questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
  8. ->setParameter('user', $User)
  9. ->getQuery()
  10. ->getArrayrResult();
  11.  
  12. return $qb;
  13. }
Go to the top of the page
+Quote Post
Forti
post
Post #4





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Nie rozumiem cie co jest źle niby? Wszystko jest ok..

Robisz join i dostajesz te join, więc..?


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
silverwind
post
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Chyba nie dość jasno wyraziłem się patrzyliście może na screnaa. Chce to wyświetlić sobie w tabelce np Owner Propsety Tenant jak zrobię zapytanie z tymi trzema encjami to nie pokarzemi Owner który nie ma Properyty tylko tych którzy ją mają . Jak ten problem rozwiązać?

Ten post edytował silverwind 12.01.2016, 15:23:43
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to zamiast JOIN rob LEFT JOIN


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Teraz mam problem z wyświetleniem tego poprzez pętle for in w Twigu przy Owner mam rozgałęzienie i powstaje tablica druga.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaz jak teraz wyglada zwrocona tablica bo za bardzo nie wiem o jakim rozgalezieniu mowisz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #9





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


tu jest link ze screenem . próbowałem normalnie for in ale wyskakuje mi błąd . Dane wyświetlić chce w tabeli np. Nazwa nieruchomości , adres, właściciel , najemca

[kasuje link bo masz tam hasla....]
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nom, nie ma zadnego rozgalezienia. Owner wyglada dokladnie tak jak wczesniej, tylko ze zamiast tablicy z jednym ownerem masz tablice z dwoma. Rownie dobrze tam moze byc 10 ownerow i to nie powinno miec zadnego wplywu na twoja petle. jesli ma, znaczy ze zrobiles ja zle. Wypadaloby wiec teraz podac kod jaki masz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #11





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


to jest kontroler
  1. /**
  2.   * Lists all Property entities.
  3.   *
  4.   * @Route("/", name="property_index")
  5.   * @Method("GET")
  6.   */
  7. public function indexAction()
  8. {
  9. $User=$this->getUser()->getUsername();
  10.  
  11. $em = $this->getDoctrine()->getManager();
  12.  
  13. $AllJoinTableRepo = $em->getRepository('UserUserBundle:User');
  14.  
  15. $QueryBuilder= $AllJoinTableRepo->getQueryBuilder($User);
  16.  
  17.  
  18. return array(
  19. 'QueryBuilder' => $QueryBuilder,
  20.  
  21.  
  22. );
  23. }

petla w szablonie
  1. {% for details in QueryBuilder %}
  2. <tr>
  3.  
  4. <th>{{ details.owner.name }}</th>
  5. <th>{{ details.owner.property.name }}</th>
  6. <th>{{ details.owner.property.adress }}</th>
  7.  
  8. <th>{{ details.owner.property.tenant.name }}</th>#}
  9. <th></th>
  10. {% endfor %}


Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nigdzie nie widze petli po owner, petli po property ani petli po tenant. Przeciez kazda z tych rzeczy moze wystapic wielokrotnie i kazda z tych rzeczy jest tablica.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #13





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Przyznam się Naspor że nawet też na to wpadłem wink.gif hehe. Czasami mi się zdarza pomyśleć. Tylko pojawił się kolejny problem jak to po układać w tabeli? Jak jadę po owner to mi poziomo wyświetla kolumny.
to jest schemat jak by to miało wyglądać tak na szybko

owner property tenat
==========tenat
====property
owner properyt tenat

Ten post edytował silverwind 13.01.2016, 13:40:18
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zdarza sie kazdemu smile.gif

Co do schematu, to przygotuj prosze bardziej 'nienaszybko' wersje bo nie kumam jak to ma wygladac ostatecznie sad.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #15





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


mniej więcej tak http://naforum.zapodaj.net/7fc66ba36d18.gif.html
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ok, pokaz teraz kod jaki aktualnie masz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #17





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


a da się to w ogóle w takie formie wyświetlić jak chce? Czy może w kontrolerze lub w repozytorium użyć jakieś innej funkcji?


Ten post edytował silverwind 13.01.2016, 16:53:39
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Da sie. Ale widze juz skasowales kod co miales i nie jestem w stanie ci teraz dopisac poprawki.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #19





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


  1. <tr>
  2. <th>Właściciel</th>
  3. <th>Rodzaj</th>
  4. <th>Adress</th>
  5. <th>Najemca</th>
  6. <th>Saldo</th>
  7. <th>Akcja</th>
  8. </tr>
  9. </thead>
  10. <tr>
  11. {% for details in QueryBuilder %}
  12. {% for detailsowner in details.owner %}
  13. <th>{{detailsowner.name}}</th>
  14.  
  15. {% endfor %}
  16. {% endfor %}
  17. {% for details in QueryBuilder %}
  18. {% for detailsowner in details.owner %}
  19. {% for detailsproperty in detailsowner.property%}
  20. <th>{{detailsproperty.name}}</th>
  21. <th>{{detailsproperty.adress}}</th>
  22. {% endfor %}
  23. {% endfor %}
  24. {% endfor %}
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Chce ci tylko pokazac schemat jak to sie mniej wiecej robi
Wybacz za pseudoif w kodzie, ale nie pamietam juz skladni ifow w szablonach
Kod
                   {% for details in QueryBuilder %}    
                       {% for detailsowner in details.owner %}
<tr>
                           <td>{{detailsowner.name}}</td>
                           {% for detailsproperty in detailsowner.property%}
                            {JESLI to jest kolejny (to jest drugi lub dalszy) element w detailsowner.property}
                               </tr>
                               <tr>
                                   <td>Puste pole na WLASCICIELA</td>
                             {KONIEC JESLI}
                           <td>{{detailsproperty.name}}</td>
                           <td>{{detailsproperty.adress}}</td>
                        {% endfor %}
</tr>
                       {% endfor %}
                   {% endfor %}

Mniej wiecej cos w ten desen


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #21





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


To jest kod może komuś będzie pomocny.
  1. {% for details in QueryBuilder %}
  2. {% for detailsowner in details.owner %}
  3. <tr>
  4. <td>{{loop.index}}</td>
  5. <td>{{detailsowner.name}}</td>
  6. {% for detailsproperty in detailsowner.property%}
  7. {% if loop.length>=2 %}
  8. </tr>
  9. <tr>
  10. <td> </td>
  11. {% endif %}
  12. <td>{{detailsproperty.name}}</td>
  13. <td>{{detailsproperty.adress}}</td>
  14. {% endfor %}
  15. </tr>
  16. {% endfor %}
  17. {% endfor %}


chciałem teraz ustawić pustą kolumnę jak wartość np detailsproperty.name jest pusta niestety nie działa mi to

  1. {% for details in QueryBuilder %}
  2. {% for detailsowner in details.owner %}
  3. <tr>
  4. <th class="text-center">{{loop.index}}</th>
  5. <th class="text-center">{{detailsowner.name}}</th>
  6. {% for detailsproperty in detailsowner.property%}
  7.  
  8.  
  9. {% if loop.length>=2 %}
  10. </tr>
  11. <tr>
  12. <th class="text-center"></th>
  13.  
  14.  
  15. {% endif %}
  16.  
  17. {% if detailsproperty.name is empty %}// tu jest ten fragment kodu
  18. <th class="text-center"></th>
  19. {% endif %}
  20. <th class="text-center">{{detailsproperty.name}}</th>
  21. <th class="text-center">{{detailsproperty.adress}}</th>
  22. <th class="text-center">Najemca</th>
  23. <th class="text-center">saldo</th>
  24. <th class="text-center">
  25.  
  26. <a href="{{ path('property_show', { 'id': detailsowner.id }) }}" role="button" class="btn btn-sm btn-primary">zobacz</a>
  27. <a href="{{ path('property_edit', { 'id': detailsowner.id }) }}" role="button" class="btn btn-sm btn-primary">edycja</a>
  28.  
  29. </th>
  30.  
  31. {% endfor %}
  32. </tr>
  33.  
  34.  
  35.  
  36. {% endfor %}
  37. {% endfor %}



Ten post edytował silverwind 17.01.2016, 06:29:29
Go to the top of the page
+Quote Post
nospor
post
Post #22





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Co to znaczy ze ci to nie dziala??
2) Poza tym nie kumam twojej logiki.... Jak wartosc jest, to tworzysz jedna TH na te wartosc. Gdy Wartosci nie ma, to chcesz tworzysz jedno puste TH oraz nadal TH z pusta wartoscia - czyli dla pustej wartosci teraz tworzysz dwie TH przez co rozwalasz totalnie strukture tabeli


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
silverwind
post
Post #23





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 8.02.2013

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


Chodziło mi żeby wstawić kolumny jak nie ma wartości, ale udało mi się już to zrobic
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 04:44