在laravel中调用未定义的关系

时间:2017-12-20 12:24:25

标签: laravel

我有两个表部门和课程,我已经定义了它们之间的关系但是我收到了这条错误消息:

  

在laravel中调用未定义的关系

有谁能告诉我哪里有问题?

型号代码:

public function course()
{
    return $this->hasMany('App\Course','departments_id','id');
}

模特部门:

public function department()
{
    return $this->belongsTo('App\Departments','departments_id');
}

3 个答案:

答案 0 :(得分:2)

首先,架构$table->integer('department_id');中的小修正应为$table->unsignedInteger('department_id');

问题是 - 您的迁移列名称为department_id,但在您的关系中,您已经写了departments_id还有一个额外的 S!

只需更正模型中的列名称。

答案 1 :(得分:1)

所以问题很清楚。在您的课程模型中,您必须将函数department重命名为departments,或者使用正确的名称创建一个新函数。

答案 2 :(得分:0)

就我而言,我使用:

test_df = pd.DataFrame(my_dict)
print(test_df.to_json(orient='records', indent=2))

我刚刚将其更改为:

::with('boards')

带有括号

在我部门的型号中:

::with(['boards'])