![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 3 Dołączył: 29.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam forumowiczów.
Problem mój, dość trywialny, okazał się być mi chwilowo nierozwiązywalny. Liczę na waszą pomoc. Do rzeczy: posiadam dwie encje 'Details' oraz 'Field' w relacji many to one. W widoku chcę wyświetlać po kolei encję 'Details' odwołując się do pola 'name' z 'Field'. Aby ilość zapytań nie rosła wraz z ilością rekordów postanowiłem zrobić JOIN'.a W tym momencie przy wyświetlaniu szablonu wyrzuca mi błąd, że odwołuję się do nieistniejącej metody encji Field (pomimo że pobieram Details w tablicy układają sie one obok siebie). Po tym niejasnym opisie przedstawię kod: Encja 'Details':
Encja 'Field':
Zapytanie do bazy:
oraz wyświetlanie w szablonie:
Treść błędu: Method "field" for object "Proxies\__CG__\Graduates\CommunityBundle\Entity\Field" does not exist in GraduatesCommunityBundle:Person:profile.html.twig. Z góry dziękuję za zainteresowanie się tematem. Ten post edytował Sagnitor 19.02.2013, 13:04:22 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Masz jasno napisane - w obiekcie klasy "Field" nie masz atrybutu o nazwie "field". Prawdopodobnie się pomyliłeś i w kolekcji "details" masz tak na prawdę obiekty Field. Zrób var_dump i sam się przekonaj co tam siedzi (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 3 Dołączył: 29.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie chodzi o to, że w tej kolekcji siedzą na przemiennie obiekty Details i Field. Tutaj leży szkopuł i nie wiem dlaczego tak się dzieje.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 3 Dołączył: 29.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie kopiowałem już do kodu encji getterów i setterów, które posiadam. Wiem o czym mówi błąd, chodzi o to, że to zapytanie które podałem w klasie Repository zamiast zwracać obiekty typu tylko Details zwraca [0] -> Details, [1] -> Field i tak dalej. Zna ktoś przyczynę takiego stanu rzeczy? Będę wdzięczny.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 2 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A spróbuj zamiast 2 obiektów wyciągnąć z zapytania tylko te pola które potrzebujesz(daj sobie alias field_name dla pola name z tej encji), wyświetl sobie później obiekt zwrócony przez zapytanie i zobacz czy field_name wyświetla się dobrze.
Edit: I czemu zamiast użyć: ->leftJoin('d.field', 'f') piszesz: ->leftJoin('GraduatesCommunityBundle:Field', 'f', 'WITH', 'd.field=f.id') dzięki relacji załatwionej w encji nie musisz pisać jakimi polami łączą się te 2 tabele. Ten post edytował bylek 19.02.2013, 20:51:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 3 Dołączył: 29.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki bylek za pomoc, temat do zamknięcia (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 22:18 |