2013-01-31 2 views
1

쿼리를 반복하려고하는데 cfoutput을 사용하는 것처럼 그룹화를 사용하고 싶습니다. 나는 CF10이 그 지원을 추가했다는 것을 알고 있지만, 항목들이 쉽게 반복 될 수 있도록 그 행동을 에뮬레이션하는 스크립트가 있습니까?cfloop 내 그룹 쿼리


편집 :cfoutput 태그를 재 배열하여, cfloop에서 그룹의 부재를 피할 방법이 있습니다, 그래서 그들은이 중첩되지 않습니다. cfloop 해결 방법을 찾고있는 이유는 cfoutput 중첩 할 때 동일한 쿼리의 결과를 사용해야하기 때문입니다. 내 자신의 QoQ를 사용하고 결과를 반복하고 싶습니다.

+1

''으로 가능한 한 쿼리를 반복하려면 ''을 사용하지 않는 이유는 무엇입니까? –

+0

이미 ''이 (가) 사용 된 경우 다른 것을 삽입 할 수 없습니다. 필요하지 않은 경우 최신 ColdFusion에 포함시키지 않았을 것입니다. – Daniel

+2

잘 보일 필요가 없습니다. 나는 당신의 문제를 이해하려고 노력하고 있습니다. 처음부터 그렇게 말했 냐고 묻지 않아도 될까요? 필자는 CF10 기능이 신의 선물이 아니라고 제안한 적은 한 번도 없었습니다. 내가 물었던 것은 당신이 당신의 질문에 결코 설명하지 않은 ''을 사용할 수없는 이유입니다. 이 정보를 포함하도록 질문을 업데이트해야합니다.이 정보는 매우 중요합니다. –

답변

3

OK, 그래서 당신은 이런 종류의 싶지 :

<cfoutput query="query1"> 
    <!--- stuff ---> 
    <cfoutput query="query2" group="col> 
     <!--- more stuff ---> 
     <cfoutput> 
      <!--- still more stuff ---> 
     </cfoutput> 
     <!--- almost the last stuff ---> 
    </cfoutput> 
    <!--- last stuff ---> 
</cfoutput> 

를?

그리고 두 번째 루프는 당신에게 오류 제공 :

Invalid tag nesting configuration. 

A query driven cfoutput tag is nested inside a cfoutput tag that also has a query attribute. This is not allowed. Nesting these tags implies that you want to use grouped processing. However, only the top-level tag can specify the query that drives the processing. 

당신은 그에게 개정 할 수 있어야한다 :

<cfloop query="query1"> 
    <cfoutput> 
     <!--- stuff ---> 
    </cfoutput> 
    <cfoutput query="query2" group="col> 
     <!--- more stuff ---> 
     <cfoutput> 
      <!--- still more stuff ---> 
     </cfoutput> 
     <!--- almost the last stuff ---> 
    </cfoutput> 
    <cfoutput> 
     <!--- last stuff ---> 
    </cfoutput> 
</cfloop> 

당신이해야하는 경우 그룹 루프를 모방하는 또 다른 옵션이있다합니다. 그러나 그것은 생각과 입력의 무리입니다. 나는 poss를 선호하지 않으므로이 방법이 먼저 작동하는지 알려주십시오.

+1

"생각과 타이핑이 많이 필요합니다."필자는 동의했다. 나는이 기능에 대한 요구 사항이 불합리한 것처럼 보이지 않기 때문에 누군가가 이미 이것을했을 것이라고 생각했다. . 당신이 보여준 옵션은 코드를 리팩터링하고 싶다면 어떻게 처리 할 것인가입니다. – Daniel

+1

누군가가 잠시 튀어 나오게하는 코드가 있다고 확신합니다. 나는 놀란 피터 보튼 (Boughton)이 아직 나타나지 않았다는 것을 알았습니다. (당신은 * 캔트맨 캔디맨 캔디맨 캔디맨 캔디맨 (Candyman Candyman Candyman), 맞습니까?) –

+0

아니요 아직 – Daniel