2010-05-03 3 views
0

CakePHP에서 여러 모델을 양식에 중첩시키는 방법이 있는지 궁금합니다. 내가 달성하기 위해 노력하고있어CakePHP에서 양식을 중첩하기

가 자동으로 생성 된 포스트에 연결됩니다 또한 이미지를 (별도의 모델)을 추가하는 필드가 포함됩니다 게시물를 만들기위한 양식을 만드는 것입니다.

Ruby on Rails **와 비슷한 기능 ** accept_nested_attributes_for **.

답변

0

저는 CakePHP와 호환되는 방법이 없다고 확신합니다. (: Saving Related Model Data 공식 문서에서 참조) 난 당신이 내가 제대로 이해하면이 절대적으로 수행 할 수 있습니다

6

... 한 양식을 작성하고 요청 후 컨트롤러의 콘텐츠를 구문 분석하는 것이 좋습니다. Post hasMany ImageImage belongsTo Post이라고 가정하면 다음과 같이 설정합니다. 이 Post.title 및 Post.body 필드, 2 개의 파일 첨부 위젯을 렌더링하는 신속하고 더러운 양식을 정의

<?php 
    $form->create("Post", array('action'=>'add','type'=>'file')); 
    $form->input("Post.title"); 
    $form->input("Post.body"); 

    $form->input("Image.0.upload", array('type'=>'file', 'label'=>__('Attach an image:',true)); 
    $form->input("Image.1.upload", array('type'=>'file', 'label'=>__('Attach an image:',true)); 
?> 

:보기에

, 그렇게 같은 게시물 작성 양식을 만들 것 두 개의 새로운 이미지.

그런 다음에 posts_controller.php :

class PostsController extends AppController 
{ 
    /* stuff before PostsController::add() */ 

    function add() 
    { 
     if (!empty($this->data)) { 

      if ($this->Post->saveAll($this->data, array('validate'=>'first'))) { 
       $this->flash(__("Post added.",true), 5); 
      } 
     } 
    } 

    /* Stuff after PostsController::add() */ 
} 

게시물 및 이미지 데이터가이 후 동시에 자동으로 두 이미지를 저장 새로운 포스트로 새로운 이미지 기록을 연결하는, 새로운 포스트 저장됩니다 유효성을 검사 가정 기록.

+0

감사합니다. 그게 정확히 내가 찾고 있던 것이 었습니다. 그렇다면 – Erik

+1

에게 감사의 말을 전하고 투표에 응답해야합니다. –