2013-06-11 1 views
0

CRUD 생성 테스트 양식을 만들 때 다음 오류가 발생합니다. 이 문제에 익숙한 사람이라면 누구입니까? 미리 감사드립니다.Yii/Giix - 관련 테이블에 저장할 때 컨트롤러 오류가 발생했습니다.

정의되지 않은 인덱스 :

07   $this->render('view', array(
08    'model' => $this->loadModel($id, 'Companylocation'), 
09  )); 
10  } 
11 
12  public function actionCreate() { 
13   $model = new Companylocation; 
14 
15 
16   if (isset($_POST['Companylocation'])) { 
17    $model->setAttributes($_POST['Companylocation']); 
18    $relatedData = array(
19     'contactindivs' => $_POST['Companylocation']['contactindivs'] === '' ? null : $_POST['Companylocation']['contactindivs'], 
20    ); 
21 
22    if ($model->saveWithRelated($relatedData)) { 
23     if (Yii::app()->getRequest()->getIsAjaxRequest()) 
24      Yii::app()->end(); 
25     else 
26      $this->redirect(array('view', 'id' => $model->CompanyLocationID)); 
27    } 
28   } 
29 
30   $this->render('create', array('model' => $model)); 
31  } 

답변

1

라인 19 contactindivs가 === ''이 널 (null) 할 경우 알리는됩니다 contactindivs. 이것으로 변경하면 에러가 발생하지 않습니다.

$contactindivs = isset($_POST['Companylocation']['contactindivs']) ? $_POST['Companylocation']['contactindivs'] : ''; 
$relatedData = array(
    'contactindivs' => $contactindivs,); 

문제는 당신이 [ 'Companylocation'] [ 'contactindivs'] 당신은 'Companylocation'를 확인하기 때문에 경고를 받고 있지만 것입니다. 그것은 그것을 고쳐야한다.

+0

빠른 응답을위한 Thx Eric. 불행히도 이것은 오류가 발생합니다. isset()없이 전에 쓰던 방법과 비슷하게 쓸 수있는 방법이 있나요? 귀하의 코드에 구문 오류가 있다고 생각하지만 그것을 보지 못했습니다. – DaveyLaser

+1

첫 번째 콜론을 물음표 (삼항 연산자)로 변경하십시오. – ippi

+0

@ laser_wizard, 두 번째 솔루션을 추가했습니다. –