Yii2 是什么导致了错误;无法声明类名,因为该名称已在使用中;

Yii2 是什么导致了错误;无法声明类名,因为该名称已在使用中;,yii2,Yii2,我找不到这个错误的原因 我有一个模型(学校简介),它与另一个模型(学习领域)有关 当我尝试访问相关模型时,会出现错误“无法声明类app\models\FieldOfStudy,因为该名称已在使用” 我不知道在其他地方使用它 关系代码: public function getFieldsOfStudy() { return $this->hasMany(FieldOfStudy::className(), ['fieldOfStudyId' => 'fieldOfStudyId

我找不到这个错误的原因

我有一个模型(学校简介),它与另一个模型(学习领域)有关

当我尝试访问相关模型时,会出现错误“无法声明类app\models\FieldOfStudy,因为该名称已在使用”

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

关系代码:

public function getFieldsOfStudy()
{
    return $this->hasMany(FieldOfStudy::className(), ['fieldOfStudyId' => 'fieldOfStudyId'])
        ->viaTable('schoolProfileFieldOfStudyXref', ['schoolProfileId' => 'schoolProfileId']);
}
我正在尝试访问相关模型,如下所示:

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


有什么想法吗?

我在FieldOfStudy类中的名称空间声明中有一个输入错误。我从这篇文章中得到了检查它的想法:

这篇文章的确切帮助部分是:


“这里有一个提示:检查您是否意外删除或键入了文件中的名称空间,该文件包含php声称正在尝试重新定义的类的定义。”

好的,我看到您解决了它。。。我在想更微妙的原因不是因为你打字错误。。。这是你需要检查的第一件事。继续接受你自己的答案,谁知道当别人出现打字错误时,你会先问,而不是检查明显的错误。。。这种东西无论如何都是无价的。我有数百个类文件,我不知道为什么这一个有打字错误,名称空间是生成的,这是可能是完全无意中的击键造成破坏的其中一次。这里(对我来说)的要点是,我永远不会将这个错误(因为这个错误消息似乎具有误导性)与拼写错误的名称空间相关联。