2016-09-09 6 views
0

zend 프레임 워크로 작업하면서 연락처 편집 페이지를 만들려고합니다. 페이지가로드되면 해당 필드의 현재 저장된 값이있는 양식을 표시하려고합니다.컨트롤러에서 뷰로 2 배열을 params로 전달하는 방법

양식과 데이터베이스 값을 내보기에 전달하려고하므로 해당 필드의 현재 값으로 양식을 미리 채울 수 있습니다. 양식이나 연락처 배열을 전달할 수 있습니다. 하지만 전달하려고하면 배열 중 하나가 null을 반환합니다.

public function editContactAction() 
{ 
    $form = new EditContact(); 
    $id = $this->params()->fromRoute('contactId'); 

    $variables = array(); 
    $contactService = $this->getServiceLocator()->get('User\Service\UserService'); 

    $variables['contacts'] = $contactService->editContact($id); 

    return new ViewModel(array('form' => $form), $variables); 
} 
+2

그럼 그냥 새로운 뷰 모델을 반환'넣어 :

public function editContactAction() { $form = new EditContact(); $id = $this->params()->fromRoute('contactId'); $variables = array(); $contactService = $this->getServiceLocator()->get('User\Service\UserService'); $variables['contacts'] = $contactService->editContact($id); return new ViewModel(array( 'form' => $form, 'variables' => $variables )); } 

그리고보기에

, 당신이 $variables 배열이 방법에 액세스 할 수 있습니다 : 뷰 모델 인수는 배열이며, 인수 배열에 $variables 배열을 전달 (array ('form'=> $ form, 'variables'=> $ variables));' – Unex

답변

0

매우 간단합니다.

$this->variables ; 
+0

',' – Unex

+0

@Unex Thkx가 수정되었습니다. –

+0

나는 이것을 시도했지만 변수 배열은 뷰에서 null을 리턴한다. 내 견해로는 초기 폼 값을 my variables 배열의 값으로 설정하려고합니다. 내 변수 배열에는 성, 성 등과 같은 데이터가 있습니다. – gibbles