2011-07-29 2 views
0

find()NULL을 반환합니다.기준을 일치시키는 행이 있어도 find()가 NULL을 반환합니다. Yii

찾기 조각

  $tempApp = Applicant::model()->find(array('condition'=>'phn=' . $app->phn . ' AND id<>' . $app->id)); 

      if($tempApp != NULL) { 
       $archId = $this->archive($tempApp); 
       if($archId != NULL) { 
        $tempApp->phn = NULL; 
        $tempApp->save(); 
        $app->note = 'Former name: ' . $tempApp->first_name . ' ' . $tempApp->middle_name . ' ' . $tempApp->last_name; 
       } else { 
        unset($archId); 
       } 
      } 

참고 :이 코드는 신청자가 업데이트 될 두 번째 시간을 작동합니다. 왜 이런 일이 일어나고 있는지 혼란 스럽습니다. 누군가 이런 일이 일어나는 이유에 대해 조언을 해줄 수 있습니까? 참고

:. 나는 find()이 즉 find('phn=:phn AND id<>:id', array(':phn'=>$app->phn, ':id'=>$app->id));

(사용 감사

답변

0

시도가 SQL 문에서 반향과하면 phpMyAdmin SQL 탭에 붙여 넣기하고 결과를 얻을 수 있는지 확인 할 수있는 여러 가지 방법을 시도 또한.

, 나는 를 사용하려고 할 것입니다! 빈() 대신 NULL의을 내 if 문에 대한

1

NULL 대신 count()를 사용합니다.

if(count($tempApp)) { 
       $archId = $this->archive($tempApp); 
       if(count($archId)) { 
        $tempApp->phn = NULL; 
        $tempApp->save(); 
        $app->note = 'Former name: ' . $tempApp->first_name . ' ' . $tempApp->middle_name . ' ' . $tempApp->last_name; 
       } else { 
        unset($archId); 
       } 
      } 
관련 문제