同一模型上的 hasOne 关系在 laravel 5.6 中不起作用
hasOne relation on same model not working in laravel 5.6
我想将模型 id 存储在与 id 列有关系的不同列 rel_id 中,
但是关系 hasOne 不起作用,显示此错误:
Cannot redeclare App\Models\Employee:supervisor()
class Employee extends Model
{
function supervisor()
{
return $this->hasOne('App\Models\Employee','id', 'supervisor_id');
}
}
如果没有更多信息和更完整的模型发布,确实很难判断,但最可能的两个原因是:
- 您的模型或具有相同命名空间的另一个模型有两个相同的方法 (
RelFunction()
)。在您的代码(首先是您的模型,然后是全局)中搜索 RelFunction。
- 您遇到命名空间问题。您可能复制了一个模型,或将其移动到新文件夹,或者只是错误地命名了它。根据模型的详细外观,这可能会无意中导致错误消息。
我想将模型 id 存储在与 id 列有关系的不同列 rel_id 中, 但是关系 hasOne 不起作用,显示此错误:
Cannot redeclare App\Models\Employee:supervisor()
class Employee extends Model
{
function supervisor()
{
return $this->hasOne('App\Models\Employee','id', 'supervisor_id');
}
}
如果没有更多信息和更完整的模型发布,确实很难判断,但最可能的两个原因是:
- 您的模型或具有相同命名空间的另一个模型有两个相同的方法 (
RelFunction()
)。在您的代码(首先是您的模型,然后是全局)中搜索 RelFunction。 - 您遇到命名空间问题。您可能复制了一个模型,或将其移动到新文件夹,或者只是错误地命名了它。根据模型的详细外观,这可能会无意中导致错误消息。