После php artisan db:seed я получаю сообщение об ошибке:
1 PDOException::("SQLSTATE[42S22]: Column not found: 1054 Unknown column 'question' in 'field list'")
F:\Projects\php\realtimeApp\vendor\laravel\framework\src\Illuminate\Database\Connection.php:452
2 PDO::prepare("insert into `replies` (`body`, `question`, `user_id`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?)")"
Вот мой репозиторий на Github: https://github.com/hevzy86/realtimeApp






В миграции таблицы ответы вы создаете поле с именем question_id:
Schema::create('replies', function (Blueprint $table) {
$table->bigIncrements('id');
$table->text('body');
$table->integer('question_id')->unsigned(); // <--- here
$table->timestamps();
});
Однако в вашей миграции, которая зависит от фабрики, которую вы создали для ответы, вы устанавливаете для поля значение question:
$factory->define(Reply::class, function (Faker $faker) {
return [
'body' => $faker->text,
'question' => function(){ // <--- here
return Question::all()->random();
},
'user_id' => function(){
return \App\User::all()->random();
},
];
Измените question на своей фабрике, чтобы вызвать id (выясните, какие вопросы уже есть в базе данных, и просто выберите случайный id) и назовите его правильно в соответствии с полем (question_id)
Похоже, что ваша база данных неправильно импортирована/или структурирована (т. е. у вас действительно могут быть отсутствующие или правильно названные столбцы). Вы можете создать резервную копию и удалить, чтобы начать с базы данных. Предложите вам проверить базу данных и (начать сначала) попробовать снова импортировать базу данных и убедиться, что она проверяет «ОК» (например: все зеленые галочки, если вы используете phpMyadmin), поскольку довольно часто могут возникать проблемы при переносе баз данных. (Проверьте на другом ПК, если можете)
Вы должны опубликовать код вопроса как минимальный воспроизводимый пример, а не как ссылку на весь проект.