2013-04-09 1 views
1

데이터베이스 테이블에서 일부 데이터 행을 표시하려고합니다. 나는 이것을 성취하는 방법에 대한 조언을 얻고 싶어한다.Symfony 2 : 테이블을 표시 하시겠습니까?

내가 지금 어떻게하는지, 그리고 왜이 질문이 제기되었는지 설명하겠습니다. 컨트롤러에 데이터를 배열로로드 한 다음 나뭇 가지 템플릿에 전달하는 스키마가 있습니다. 그런 다음 나뭇 가지 템플릿은 "유틸리티"컨트롤러를 호출하여 배열을 표시합니다. 유틸리티 컨트롤러가 필드를 포맷 처리 등 소요 따라서, 예를 들어 :

컨트롤러 :

$cols = array('1','2','3'); 
$rows = array(); 

for (...) { 
    $rows[] = ... 
} 

return array(
    'cols' => $cols, 
    'rows' => $rows, 
); 

나뭇 가지 :

그러나
{% render 'Bundle:Table:print' with { 'cols': cols, 'rows': rows } %} 

, 내가 심포니 2.2으로 이동하려 할 때, 내부 호출이 2.2에서 처리되는 방식 때문에 몇 가지 문제가 발생했습니다. http://symfony.com/blog/new-in-symfony-2-2-the-new-fragment-sub-framework

배열이 URL 매개 변수로 변환 된 다음 parse_str을 사용하여 다시 구문 분석되는 것처럼 보입니다. 이로 인해 두 가지 별개의 문제가 발생합니다.

  1. 큰 테이블의 경우 PHP는 배열에서 1000 개 항목으로 제한됩니다. (예, 제한을 늘릴 수 있지만 현명한 것입니까?)
  2. DateTime 유형은 타이핑을 잃어 버려서 그냥 배열로 보입니다.

내 원래의 접근 방식은 앞으로도 계속 사용할 수 있습니까? 그렇지 않은 경우 어떤 접근 방식을 사용해야합니까?

감사합니다.

답변