Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel db:种子尝试为错误的表种子_Php_Postgresql_Laravel 5.8 - Fatal编程技术网

Php Laravel db:种子尝试为错误的表种子

Php 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); } 我已经使用迁移创建了用户和下一个表表,并希望使用数据库种子将数据添加到表

我在用户和nextOfKin模型之间建立了这样的关系

User.php

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