Laravel db: seed пытается посеять неправильный стол - PullRequest
0 голосов
/ 03 июля 2019

У меня есть отношения между пользователем и моделью 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());
    });
}

возвращает ошибку

Подсветка \ База данных \ QueryException: SQLSTATE [42P01]: неопределенная таблица: 7 ОШИБКА: отношение "next_of_kin" не существует ЛИНИЯ 1: вставить в "next_of_kin" ("user_id", "firstname", "фамилия ... ^ (SQL: вставить в значения «next_of_kin» («user_id», «firstname», «фамилия», «отношения», «address», «state», «country», «updated_at», «creation_at») (1, Вилли, МакКаллоу, семья, 3334 B ridget Cliffs, Мичиган, Микронезия, 2019-07-03 13:35:48, 2019-07-03 13:35:48) возвращая "id")

Почему миграция пытается вставить в next_of_kin вместо next_of_kins таблицу? Заполнение таблицы пользователей прошло успешно. Как это можно исправить?

1 Ответ

1 голос
/ 03 июля 2019

В модели вы можете указать, какую таблицу использовать:

class NextOfKin extends Model
{
    protected $table= 'next_of_kins'; 
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...