Laravel 5 / Carbon:发现意外数据/数据缺失

时间:2017-02-17 15:24:32

标签: php laravel-5 php-carbon faker

我不知道从哪里开始。我刚刚开始使用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()' 

但是这不应该引发错误吗?我的意思是,我不应该在这里插入任何日期吗?

1 个答案:

答案 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