我有两个表部门和课程,我已经定义了它们之间的关系但是我收到了这条错误消息:
在laravel中调用未定义的关系
有谁能告诉我哪里有问题?
型号代码:
public function course()
{
return $this->hasMany('App\Course','departments_id','id');
}
模特部门:
public function department()
{
return $this->belongsTo('App\Departments','departments_id');
}
答案 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'])