我面临一个奇怪的问题。我在Windows上创建了一个应用程序,我试图将其部署到Linux。我知道案件问题,并尽可能纠正,但这次我不知道该怎么办。
我有以下型号:
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;
}
其中applied_teams返回null,但舍入不是。记录在数据库中正确。你知道这两个操作系统之间会有什么区别吗?
更新
我已经写了一个解决方法,但还没找到问题的原因。 getter方法在linux上没有问题:
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 :(得分:0)
问题是MySQL引擎。服务器的默认值是MyISAM,而不是InnoDB,但外键创建并没有引发异常..