同一模型上的hasOne关系在laravel 5.6中不起作用

时间:2018-06-10 05:31:26

标签: laravel foreign-keys laravel-5.6

我想将模型ID存储在同一个表中,其中不同的列rel_id与id列有关系, 但关系hasOne不工作,显示此错误:

  

无法重新声明App \ Models \ Employee:supervisor()

class Employee extends Model
{   
    function supervisor()
    {
        return $this->hasOne('App\Models\Employee','id', 'supervisor_id');
    }
}

1 个答案:

答案 0 :(得分:0)

如果没有更多的信息和更完整的模型发布,真的很难说,但最可能的两个原因是:

  1. 您的模型上有两个相同的方法(RelFunction()),或者具有相同命名空间的另一个模型。在RelFunction中搜索代码(首先是模型,然后是全局)。
  2. 您有一个命名空间问题。您可能已复制模型,或将其移动到新文件夹,或者只是错误地命名它。根据模型的详细信息,这可能会无意中导致错误消息。