我正在做一个 laravel 项目,每次我更改表(添加或删除列)并运行 php artisan migrate:refresh
。我收到此错误:
[Symfony\Component\Debug\Exception\FatalErrorException] 无法在写入上下文中使用方法返回值
解决方案尝试:
- 运行
composer dump-autoload
(失败) - 在数据库中删除表,删除迁移文件并重新启动(有效)
以前的迁移文件:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->integer('post_id');
$table->string('body');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('comments');
}
}
更改的迁移文件:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->integer('post_id');
$table->string('body');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('comments');
}
}
我在 up 函数的更改文件中添加了 user_id
原文由 mushood badulla 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个对我有用的命令
但是,请小心!此命令将从您的数据库中删除所有数据:
根据 Laravel 文档 9.x。