我与这样建立的用户和nextOfKin模型之间存在关系
User.php
public function nextOfKin()
{
return $this->hasOne(NextOfKin::class, 'user_id');
}
NextOfKin.php
public function user()
{
return $this->belongsTo(User::class);
}
我已经使用迁移创建了users
和next_of_kins
表,并希望使用数据库种子将数据添加到表中。当我运行UsersTableSeeder
public function run()
{
factory(App\User::class)->create()->each(function ($user) {
$user->nextOfKin()->save(factory(App\NextOfKin::class)->make());
});
}
返回错误
Illuminate \ Database \ QueryException:SQLSTATE [42P01]:未定义表:7错误:关系“ next_of_kin”不存在 第1行:插入“ next_of_kin”(“ user_id”,“ firstname”,“ lastname ... ^(SQL:插入“ next_of_kin”(“ user_id”,“ firstname”,“ lastname”,“ relationship”,“ address”,“ state”,“ country”,“ updated_at”,“ created_at”))值(1,威利(McCullough),家人,3334 B 里奇·克利夫斯(ridget Cliffs),密歇根州密歇根州,2019年7月3日13:35:48,2019-07-03 13:35:48)返回“ id”)
为什么迁移尝试插入到next_of_kin
表而不是next_of_kins
表中?用户表播种成功。如何解决?
答案 0 :(得分:1)
在模型中,您可以指定要使用的表:
class NextOfKin extends Model
{
protected $table= 'next_of_kins';
...
}