我正确地存储了数据,但当我尝试在编辑函数中获取数据时,它会显示错误
SQLSTATE[42S22]:未找到列:1054"字段列表"中的未知列"staff_id"(SQL:选择users
.*,staff
.staff_id
作为pivot_staff_id
,staff
.user_id
作为pivot_user_id
,staff
.staff_type
作为pivot_staff_type
,staff
.role
作为pivot_role
,staff
.created_at
作为pivot_created_at
,staff
.updated_at
作为pivot_updated_at
从users
内部加入users
上的staff
。id
=staff
.user_id
,其中(2(中的staff
.staff_id
和CCD_ 28。staff_type
=应用程序\模型\投资者(
//investor relationship
public function staff()
{
return $this->morphToMany(User::class, 'staff')
->withPivot(['role'])
->withTimestamps();
}
//user relationship
public function investors()
{
return $this->morphedByMany(Investor::class, 'staff');
}
您不遵循命名约定,因此您应该为以下关系确定foreign key
和"other key"
:
public function staff()
{
return $this->morphToMany(User::class, 'staff','name of table',
'foreignPivotKey','relatedPivotKey);
}
我不知道你的表列名称,但在你的情况下可以是如下所示:
public function staff()
{
return $this->morphToMany(User::class, 'staff','staffabels',
'staffabel_id','staff_id')
->withPivot(['role'])
->withTimestamps();
}
public function investors()
{
return $this->morphedByMany(Investor::class, 'staff','staffabels',
'staff_id','staffable_id');
}