2011-08-30 3 views
0

다음과 같은 구조를 가지고 있습니다 : 프로그램> 프로젝트> 스테이지PHP에서 MVC를 사용하여 결과 집합에서 추가 속성을 가져 오는 방법

이러한 각 모델을보기위한 내보기 파일은보기 파일에서 다음과 비슷한 것을 볼 수있는 꽤 표준적인 곳입니다 :

<?php foreach ($programs as $p):?> 
<p><?php echo $p->getName()?></p> 
<?php endforeach?> 

My $ programs 변수는 단지 Program 객체의 배열입니다.

예를 들어, 상위 프로젝트 및 프로그램의 이름이있는 단계를 나열하는 페이지가 있다고 가정 해 보겠습니다. 내 SQL 문은 필요한 조인을 수행하고 객체 배열에는 프로그램 및 프로젝트 이름의 속성이 포함됩니다. 내 Stage 모델에 getProjectName() 및 getProgramName() 메서드를 2 개 추가했습니다. 그러나이 작업을 수행하는 올바른 방법인지 확실하지 않습니다. 이 페이지에서 프로젝트 또는 프로그램의 다른 속성을 나열하려면 스테이지 모델에서 내가 속한 것으로 생각하지 않는 여러 가지 추가 메서드를 만들어야합니다.

아무도이 일종의 일을 수행하는 가장 좋은 방법에 대한 통찰력을 제공 할 수 있습니까? 감사.

답변

0

당신은 일이

$programs = array(
    0 =>array(
    'name' => 'prog name 1', 
    'somefield' =>'some prog field 1', 
    'project' => array(
     0 =>array(
     'name' => 'proj name 1', 
     'somefield' =>'some proj field 1', 
     'stage' => array(
      0=>array(
      'name' =>'stage name 1', 
      'somefield' =>'some stage field 1', 
      ), 
      1=>array(
      'name' =>'stage name 2', 
      'somefield' =>'some stage field 2', 
      ) 
     ) 
    ), 
     1 =>array(
     'name' => 'proj name 2', 
     'somefield' =>'some proj field 2', 
     'stage' => array(
      0=>array(
      'name' =>'stage name 1', 
      'somefield' =>'some stage field 1', 
      ), 
      1=>array(
      'name' =>'stage name 2', 
      'somefield' =>'some stage field 2', 
      ) 
     ) 
    ) 
    ) 
) 
); 
같은 모든 필드와 배열과 같은 데이터를 얻을 것이다
관련 문제