2012-12-09 2 views
0

이 코드 조각이 있습니다. 한 테이블에서 다른 테이블로 데이터를 복사하려고합니다 .plz이 코드가 작동하지 않습니다.yii 프레임 워크를 사용하여 한 테이블에서 다른 테이블로 데이터 복사하기

감사

protected function afterSave() 
//Copy data from Client to packageassignment *** 
    // assuming  your you're in the Client model 
    //and Client has id,package_id,p_start_date 
{ 
    $packageassignment= new Packageassignment(); 
    $packageassignment->user_id=$this->id; 
    $packageassignment->package_id=$this->package_id; 
    $packageassignment->package_start_date=$this->p_start_date; 
    $packageassignment->save(); 
    return parent::afterSave(); 
} 

답변

0

귀하의 코드가 잘 보인다. 가능성이 문제는 라인

if(!$packageassignment->save()){ 
    echo 'packageassignment save failed!'; 
    //other debugging code 
} 

에 그것이 오류를 제공하는 경우 다음 볼 것을

$packageassignment->save(); 

변경입니다. 또는 원하는 오류 로깅 기술로 대체하십시오.

+0

Renzem, 설명대로 코드가 변경되었지만 데이터가 저장되지 않았거나 에코 메시지가 실패했습니다. plz advise..only second.thanks가 아닌 첫 번째 테이블에 데이터 저장 –

+0

@MuhammadHamdani이 시점에서 문제를 좁히기 위해 표준 디버깅 기술을 수행하면됩니다. 성공을 위해 echo 문을 추가하십시오. 저장 후 리다이렉트하지 않았는지 확인하십시오. 그렇지 않으면'echo' 명령문의 출력이 사라집니다. 'Packageassignment' 모델 자체를 저장하고, 임의의 값을 입력하여 작동하는지 여부를 확인하기 만하면됩니다. 그게 당신이 찾고있는 모든 것입니다, 저축이 독자적으로 작동하는지 확인하십시오. 해당 모델의 rules() 메소드를 점검하고 올바른지 확인하십시오. 유효성 검사를 무시하려면'$ packageassignment-> save (false); '를 시도하십시오. –

관련 문제