2014-03-31 3 views
0

나는 이상한 문제에 직면 해 있습니다. Windows에서 응용 프로그램을 만들었고 Linux에 배포하려고합니다. 나는 사건의 문제에 대해 알고 그것을 할 수있는 곳에서 시정했지만 이번에는 무엇을해야할지 모른다.Yii 관계가 Linux에서 null을 반환합니다.

public function relations() 
{ 
    $tmp=parent::relations(); 
    $tmp['applied_teams']=array(self::MANY_MANY, 'Group',  'qualification(group_id,competition_id)'); 
    $tmp['rounds'] = array(self::MANY_MANY,  'Competition','competitions_competitions(competition_parent,competition_child)'); 
    return $tmp; 
} 

가 반환 널 (null) applied_teams,하지만 발사 속도 :

나는 다음과 같은 모델을 가지고있다. 레코드가 데이터베이스에 올바르게 있습니다. 이 두 운영 체제간에 차이점이 무엇인지 생각해보십시오.

UPDATE 내가 해결 방법을 작성했지만, 문제의 원인을 찾을 수있다

. getter 메소드는 리눅스에서 아무런 문제가 없습니다 :

public function getAppliedTeams() { 
     $qs = Qualification::model()->findAll('competition_id=:c', array(':c' => $this->competition_id)); 
     if ($qs == null) { 
      return null; 
     } 
     $results = array(); 
     foreach ($qs as $q) { 
      $results[] = $q->group; 
     } 
     return $results; 
    } 

답변

0

문제는 MySQL 엔진입니다. 서버의 기본값은 InnoDB가 아니라 MyISAM이지만 외부 키 생성은 예외를 발생시키지 않았습니다.