我不知道从哪里开始。我刚刚开始使用Laravel并尝试使用随机数据为数据库播种,使用Carbon& amp;骗子。我收到此错误消息:
[InvalidArgumentException]
Unexpected data found.
Unexpected data found.
Unexpected data found.
Data missing
我读了几个关于SO的话题,但没有什么可以帮助我弄清楚发生了什么。我实际上是按照一个教程,所以一切都应该没问题,但因为我可能不会在同一版本的Laravel我不确定(未成年人在这里和那里改变)。 这是我尝试播种的表的代码(utilisateursTableSeed.php):
<?php
use Illuminate\Database\Seeder;
use Carbon\Carbon;
class utilisateursTableSeeder extends Seeder
{
private function datealeatoire(){
return Carbon::createFromDate('null', rand(1,12), rand(1,28));
}
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('utilisateurs')->delete();
$faker = Faker\Factory::create();
for ($i=0; $i<20; $i++){
$date=$this->datealeatoire();
DB:table('utilisateurs')->insert([
'titre'=> text(50),
'texte'=>text(),
'created_at'=>$date,
'updated_at'=>$date
]);
}
}
}
我的函数up()看起来像这样:
public function up()
{
Schema::create('utilisateurs', function (Blueprint $table) {
$table->increments('id');
$table->string('titre');
$table->text('texte');
$table->timestamps();
});
}
我尝试更改日期格式,但它只是让我遇到其他一些错误。我不知道该怎么做...请告诉我你是否需要更多信息。 我将不胜感激任何帮助
编辑:当我改变&#39; null&#39;我的createFromDFate中的值为普通日期(即2017)我收到错误消息:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined function table()'
但是这不应该引发错误吗?我的意思是,我不应该在这里插入任何日期吗?
答案 0 :(得分:2)
您将null
作为字符串而不是数据类型传递。删除引号,它将起作用:
$date = Carbon::createFromDate(null, rand(1,12), rand(1,28));
// object(Carbon\Carbon)(
// 'date' => '2017-06-02 10:28:17.000000',
// 'timezone_type' => 3,
// 'timezone' => 'America/New_York'
// )
你的下一个错误,你在DB之后错过了第二次冒号:
DB::table('utilisateurs')->insert