2012-02-17 4 views
1

Yii multimodel 폼에서 우리는 하나의 뷰에서 두 모델의 폼을 생성하기 위해 actionCreate()를 사용했습니다. 모든 것이 여기까지 있습니다.하지만 두 모델을 멀티 모델의 단일 뷰에서 업데이트하면 모델이 정의됩니다 이리? 나 example.Just 데이터베이스 프로젝트 컨트롤러의 코드는 여기 지금이Yii 멀티 모델 형식의 actionUpdate()?

public function actionCreate() 
    { 
    $model=new Projects; 
    $tasks=new Projects; 

    // Uncomment the following line if AJAX validation is needed 
    // $this->performAjaxValidation($model); 
    if (isset($_POST['Projects'],$_POST['Tasks'])) 
    { 
     $model->attributes = $_POST['Projects']; 
     $tasks->attributes = $_POST['Tasks']; 
     $valid = $model->validate(); 
     $valid = $tasks->validate(); 
     if($valid) 
     { 
     $model->save(false); 
     $tasks->save(false); 
     $this->redirect(array('view','id'=>$model->id)); 
     } 
    } 
    $this->render('create',array(
     'model'=>$model, 
     'tasks'=>$tasks, 
    )); 
    } 

같은 것) 단지 actionCreate에 따라서이

=== Project === 
    id 
    task_id(FK) 
    description 

    === Task === 
    id 
    name 
    description 

(처럼 생각하는 당신에게 하나를 드리겠습니다 두 모델 모두 작성 준비가 완료되었습니다. 따라서 actionView()actionUpdate()에서 무엇을 할 것인가? 두 모델을 선언하는 방법? 어떤 도움이나 제안도 매우 유익 할 것입니다.

답변

0

정말 다른가요? 보기/업데이트를로드 할 때로드 할 모델을 알려주는 ID가 GET에 있어야합니다. ActiveRecord를 사용하는 경우 모델은 Projects :: model() -> findByPk ($ myId)가됩니다. 업데이트 할 때 create와 마찬가지로 속성을 할당 할 수 있지만 모델이 데이터베이스에서 먼저로드되었는지 확인하십시오.

0

작업 모델에 대한 개체를 만들지 않았습니다.