ErrorException:php artisan migrate:fresh 期间数组到字符串的转换
ErrorException : Array to string conversion during php artisan migrate:fresh
正在尝试将列设置为 dateTime 类型,并将其默认设置为当前时间和日期。但是,我一直收到标题中提到的错误...
这个问题与'dateAccepted'字段有关,'dateSubmitted'可能也会有这个问题,但我还没有尝试过。
我使用了错误的数据类型吗?或者只是编码错误..?欢迎所有建议。
(P.S 网站新手,对于格式问题深表歉意)
public function up()
{
Schema::create('adoption_requests', function (Blueprint $table) {
$table->increments('id');
$table->bigInteger('userid')->unsigned();
$table->bigInteger('animalID')->unsigned();
$table->date('dateSubmitted');
$table->dateTime('dateAccepted')->default(getdate())->nullable();
$table->date('requestAccepted');
$table->date('staffID');
$table->timestamps();
//$table->boolean('$adoptionStatus')->default(0);
$table->foreign('userid')->references('id')->on('users');
$table->foreign('animalID')->references('id')->on('animals');
});
}
ErrorException : Array to string conversion
at C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php:248
244| }
245|
246| return is_bool($value)
247| ? "'".(int) $value."'"
> 248| : "'".(string) $value."'";
249| }
250|
251| /**
252| * Create an empty Doctrine DBAL TableDiff from the Blueprint.
Exception trace:
1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Array to string conversion", "C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php", [])
C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php:248
2 Illuminate\Database\Schema\Grammars\Grammar::getDefaultValue()
C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\MySqlGrammar.php:946
Please use the argument -v to see more details.
$table->dateTime('dateAccepted')->default(DB::raw('CURRENT_TIMESTAMP'));
这可能有帮助
编辑
解释:
函数gettime()
返回一个数组。所以你不能在 datetime
列中存储值数组。你需要 datetime
.
与原始答案不同的另一种方式是,
$table->dateTime('dateAccepted')->default(now()->toDateTimeString());
正在尝试将列设置为 dateTime 类型,并将其默认设置为当前时间和日期。但是,我一直收到标题中提到的错误...
这个问题与'dateAccepted'字段有关,'dateSubmitted'可能也会有这个问题,但我还没有尝试过。
我使用了错误的数据类型吗?或者只是编码错误..?欢迎所有建议。 (P.S 网站新手,对于格式问题深表歉意)
public function up()
{
Schema::create('adoption_requests', function (Blueprint $table) {
$table->increments('id');
$table->bigInteger('userid')->unsigned();
$table->bigInteger('animalID')->unsigned();
$table->date('dateSubmitted');
$table->dateTime('dateAccepted')->default(getdate())->nullable();
$table->date('requestAccepted');
$table->date('staffID');
$table->timestamps();
//$table->boolean('$adoptionStatus')->default(0);
$table->foreign('userid')->references('id')->on('users');
$table->foreign('animalID')->references('id')->on('animals');
});
}
ErrorException : Array to string conversion
at C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php:248
244| }
245|
246| return is_bool($value)
247| ? "'".(int) $value."'"
> 248| : "'".(string) $value."'";
249| }
250|
251| /**
252| * Create an empty Doctrine DBAL TableDiff from the Blueprint.
Exception trace:
1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Array to string conversion", "C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php", [])
C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php:248
2 Illuminate\Database\Schema\Grammars\Grammar::getDefaultValue()
C:\xampp\htdocs\AAS\vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\MySqlGrammar.php:946
Please use the argument -v to see more details.
$table->dateTime('dateAccepted')->default(DB::raw('CURRENT_TIMESTAMP'));
这可能有帮助
编辑
解释:
函数gettime()
返回一个数组。所以你不能在 datetime
列中存储值数组。你需要 datetime
.
与原始答案不同的另一种方式是,
$table->dateTime('dateAccepted')->default(now()->toDateTimeString());