2014-12-23 2 views
0

내 유체에 중첩 for 루프가 있습니다.TYPO3 관계 쿼리 - 관계형 유체 렌더링

먼저 인쇄하십시오. 모든 상위 항목.

중첩 된 for 루프는 상위 항목과 관련된 모든 하위 요소를 인쇄해야합니다.

하지만 자식 루프가 작동하지 않습니다. 어떻게 보이나요? N FACH에서 관계

을 MODUL하고 나는이 같은 목록을 인쇄하려면 :

나는 모델 MODUL

및 모델 FACH

과 하나가 가지고

MODUL - FACH 1 - FACH 2

MODUL B - FACH YSD

+0

도움이 필요하면 Fluid 템플릿의 코드 샘플을 추가하십시오. – lorenz

답변

1

"modules"와 "fachs"객체 사이에 관계가있는 경우 별도의 "findAll"메소드를 호출 할 필요가 없습니다. 방금 호출 할 수 있습니다.

$moduls = $this->modulRepository->findAll(); 

Extbase가 두 개체 사이의 관계를 가져옵니다.

템플릿이 (필자는 속성 이름을 모르는,하지만 당신은 여기에 컨텍스트를 얻어야한다)과 같아야합니다

<f:for each="{moduls}" as="modul"> 
    {module.name} 
    <f:for each="{modul.fachs}" as="fach"> 
     {fach.fachname} 
    </f:for> 
</f:for> 

이의 출력은 당신이 찾고있는 결과를 제공한다.

필터링 질문 관련 데이터베이스에서 데이터를 가져와야합니다. 그래서 이것을하는 가장 좋은 방법은 저장소입니다. 원하는 필터링의 종류에 따라 옵션이 다를 수 있습니다. 하지만 일반적으로 항상 저장소를 먼저 갈 것입니다. 그 후 몇 가지 추가 작업을 수행 할 수 있습니다.

0

유체 번호 :

`<f:for each="{moduls}" as="modul"> 
    <f:for each="{fachs}" as="fach"> 
     {fach.fachname} 
    </f:for> 
</f:for>` 

컨트롤러 : 모든 FACH 개체가 수집 한 순간

`public function listAction() { 
    $moduls = $this->modulRepository->findAll(); 
    $fachs = $this->fachRepository->findAll(); 
    $this->view->assign('moduls', $moduls); 
    $this->view->assign('fachs', $fachs); 
}` 

내가 유체 또는 컨트롤러와 필터링을 어떻게해야합니까?

+0

나와 내 질문에 대한 답변이있는 사람이 있습니까? – Felix