2013-10-17 4 views
0

cakePHP v2.4를 사용하고 있는데 자동으로 양식을 채우려고합니다. 은 내가 내 컨트롤러에 할 것은 이것이다 :cakePHP로 양식을 채우는 방법

echo $this->Form->create('Person'); 
echo $this->Form->text('firstname', array('label' => 'Firstname')); 
echo $this->Form->end(); 

내 입력 FIRSTNAME 싶습니다 자동으로 내가 얻은 값으로 채울 :

$contact = $this->Contact->findById($id); 
$this->set('data', $contact); 

그리고 내보기에이 같은 formHelper 드 사용

내 요청에서.

Array 
(
[Contact] => Array 
    (
     [id] => 15 
     [created] => 0000-00-00 00:00:00 
     [modified] => 0000-00-00 00:00:00 
     [type] => person 
    ) 

[Person] => Array 
    (
     [contact_id] => 15 
     [firstname] => eric 
    ) 
) 

당신이 볼 수 있듯이, 나는 그것이 '사람'또는 '회사의 여부, 테이블'기업 '과 유형에 따라이 : 이것은 내보기에 홍보 ($ 데이터)를 수행 할 때 내가 무엇을 얻을 '나는 해당 테이블을로드 할 것입니다. 내가 무엇을 놓치고 있는지 아직 모르겠다. 아직 답을 찾지 못했다.

답변

0

그것은 $this->request->data = $contact;해야하고, 같은 행동을 다시 폼 데이터를 게시하는 경우에 그는 GET 요청에서 수행해야합니다

if($this->request->is('post')) 
{ 
    // process the posted form data 
} 
else 
{ 
    $this->request->data = $this->Contact->findById($id); 
} 

가 모델/컨트롤러/뷰를 생성하는 bake shell를 사용하여 그 코드에서 배워라. 또한 요리 책을 확인하십시오 : http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html#editing-posts

+0

완벽하게, 나는 $ this-> request-> data = $ this-> Contact-> findById ($ id)와 그것을 작동합니다 :) 감사합니다! – user2688870

관련 문제