Yii has_many关系失败 - 未找到列:1054未知列

时间:2014-09-24 15:17:17

标签: php yii relationship

我做了很多HAS_MANY关系,但是......这次,它不想工作,我无法弄清楚原因。

我有两种模式:

Contest (id, name)MpContest (id, contest_id).

在我的数据库中,我创建了外键和主键。

在比赛课程中:

public function relations() {
    return array(
        'mpContests' => array(self::HAS_MANY, 'MpContest', 'contest_id'),       
    );
}

在MpContest课程中:

public function relations() {
    return array(
        'contest' => array(self::BELONGS_TO, 'Contest', 'contest_id'),
        'contestType' => array(self::BELONGS_TO, 'ContestType', 'contest_type'),
    );
}

当我尝试从比赛中获得相对MpContest时,我得到一个错误。

我尝试这样做:

$mpContests = $this->mpContests;

我明白了:

CDbCommand n'a pas pu exécuter la commande SQL : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mpContests.contest_id' in 'where clause'. The SQL statement executed was: SELECT `mpContests`.`id` AS `t1_c0`, `mpContests`.`name` AS `t1_c1`, `mpContests`.`date_start` AS `t1_c2`, `mpContests`.`date_end` AS `t1_c3`, `mpContests`.`date_start_post` AS `t1_c4`, `mpContests`.`date_end_post` AS `t1_c5` FROM `contest` `mpContests` WHERE (`mpContests`.`contest_id`=:ypl0). Bound with :ypl0='1' 

我还尝试添加' index' => ' ID'关系但是......没有任何改变。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

哦!我发现了为什么它不想工作..

我拼错了MpContest类中的表名..

这是我的错。对不起我的轻率,也许其他人会遇到同样的问题。