导致错误的原因"无法声明类className,因为该名称已被使用"

时间:2014-12-10 20:59:00

标签: yii2

我找不到此错误的原因。

我有一个与另一个模型(学习领域)有关系的模型(学校简介)。

当我尝试访问相关模型时,我收到错误"无法声明类app \ models \ FieldOfStudy,因为该名称已被使用"

我不知道在其他地方使用它。

关系代码:

public function getFieldsOfStudy()
{
    return $this->hasMany(FieldOfStudy::className(), ['fieldOfStudyId' => 'fieldOfStudyId'])
        ->viaTable('schoolProfileFieldOfStudyXref', ['schoolProfileId' => 'schoolProfileId']);
}

我试图像这样访问相关模型:

$schoolProfile->fieldsOfStudy;

特别令人沮丧的是我在另一个项目中使用这些相同的类。我从未见过这个错误。错误输出表明,当它只是尝试加载类时,错误发生在上面的hasMany函数中。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我在FieldOfStudy类的名称空间声明中输入了一个拼写错误。我有想法从这篇文章中查看它:symfony2 fatal error Cannot redeclare class

帮助的帖子的确切部分是:

“这是一个提示:检查你是否意外删除或输入错误:在包含php声称它试图重新定义的类的定义的文件中的命名空间。”