저는 아직도 Symfony2에 대해 매우 익숙합니다. 제발 쉽게 가십시오. 나는 비행기와 공항과 같은 몇 가지 관련 분야가있는 비행 표 (비행 티켓 예약 시스템의 경우)를 반복하려고합니다. 나는 내 사용자 지정 저장소에 다음과 같은 방법을 사용하고 있습니다 :Twig 템플릿에서 관련 개체의 데이터를 어떻게 출력합니까?
public function getAllFlights($limit = 100)
{
$dql = 'SELECT f FROM Flightcase\BookingBundle\Entity\Flight f';
$query = $this->getEntityManager()->createQuery($dql);
$query->setMaxResults($limit);
return $query->getResult();
}
과 getAllFlights하는()과 같이 내 나뭇 가지 템플릿에 전달되는 :
$flights = $em->getRepository('FlightcaseBookingBundle:Flight')->getAllFlights();
return $this->render('FlightcaseBookingBundle:Flight:list.html.twig', array('flights' => $flights));
그리고 나뭇 가지 템플릿은 단순히 통해 반복된다
{% for flight in flights %}
<tr>
<td>{{ flight.airline }}</td>
<td>{{ flight.origin }}</td>
<td>{{ flight.destination }}</td>
<td>{{ flight.dateFrom }}</td>
<td>{{ flight.timeFrom }}</td>
<td>{{ flight.dateTo }}</td>
<td>{{ flight.timeTo }}</td>
</tr>
{% endfor %}
하지만 나에게 말하는 추한, 비밀 예외가 "클래스 프록시 \의 객체 FlightcaseBookingBundleEntity이 같은 $ 항공편을 수집 내부 항목 AirProxy를 문자열 ""으로 변환 할 수 없으므로 문자열로 출력 할 IATA 코드와 같은 Airline 객체 내부의 특정 속성을 가져와야합니다. 하지만 어떻게 Twig 템플릿 내에서 $ airline-> getIataCode()에 액세스 할 수 있습니까? 아니면 내 저장소에서 관련 객체를 문자열로 변환하는 방법이 있습니까?
사실은 나뭇 가지가 변수를 줄 때 인쇄해야하는 것을 찾기 위해 시도하는 일련의 검사가 있습니다. 다음 문서의 '구현'섹션을 확인하십시오. http://twig.sensiolabs.org/doc/templates.html#variables –
감사합니다. 실제로 {{flight.airline.IataCode}}를 사용하여 항공기 객체의 속성에 액세스 할 수있었습니다. 너무 단순 해 보이지만 ORM 방식으로 아직 전환하지 않았습니다. – indorock