Php Laravel db:种子尝试为错误的表种子
我在用户和nextOfKin模型之间建立了这样的关系 User.phpPhp Laravel db:种子尝试为错误的表种子,php,postgresql,laravel-5.8,Php,Postgresql,Laravel 5.8,我在用户和nextOfKin模型之间建立了这样的关系 User.php public function nextOfKin() { return $this->hasOne(NextOfKin::class, 'user_id'); } NextOfKin.php public function user() { return $this->belongsTo(User::class); } 我已经使用迁移创建了用户和下一个表表,并希望使用数据库种子将数据添加到表
public function nextOfKin()
{
return $this->hasOne(NextOfKin::class, 'user_id');
}
NextOfKin.php
public function user()
{
return $this->belongsTo(User::class);
}
我已经使用迁移创建了用户
和下一个表
表,并希望使用数据库种子将数据添加到表中。当我运行我的userstableeder
public function run()
{
factory(App\User::class)->create()->each(function ($user) {
$user->nextOfKin()->save(factory(App\NextOfKin::class)->make());
});
}
它返回一个错误
Illumb\Database\QueryException:SQLSTATE[42P01]:未定义的表:7错误:关系“next\u of\u kin”不存在
第1行:插入“下一个亲属”(“用户id”、“名字”、“姓氏…”)。。。
^(SQL:在“近亲”(“用户id”、“姓氏”、“姓氏”、“关系”、“地址”、“州”、“国家”、“更新地址”、“创建地址”)中插入值(1,威利,麦卡洛,家族,3334 B
密克罗尼西亚密歇根州里奇悬崖,2019-07-03 13:35:482019-07-03 13:35:48)返回“id”)
为什么迁移尝试插入到
next\u of\u kin
表而不是next\u of\u kins
表中?用户表种子设定成功。如何解决此问题?在模型中,您可以指定要使用的表:
class NextOfKin extends Model
{
protected $table= 'next_of_kins';
...
}
您能为NextOfKin显示模型类吗?当Laravel无法根据模型名和复数形式确定要使用的正确表名时,这是必需的。因为
kin
是复数形式,所以Laravel尝试使用的表是next\u-of-kin
。