如何解决Laravel我添加了morphmany SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“ staff.staff_id”
我正确存储了数据,但是当我尝试在编辑功能中获取数据时,它显示了此信息 错误
SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“ staff.staff_id”(SQL:选择users
。*,staff
。staff_id
作为{ {1}},pivot_staff_id
。staff
,user_id
,pivot_user_id
。staff
,staff_type
,pivot_staff_type
。 }}分别为staff
的{{1}},role
。pivot_role
和staff
的{{1}}。created_at
pivot_created_at
上的内部联接staff
。updated_at
= pivot_updated_at
。users
其中staff
。users
在(2)中,{{ 1}}。id
= App \ Models \ Investor)
staff
解决方法
您不关注naming conventions,因此您应确定该关系的 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,'staffabels','staffabel_id','staff_id')
->withPivot(['role'])
->withTimestamps();
}
public function investors()
{
return $this->morphedByMany(Investor::class,'staff_id','staffable_id');
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。