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

Laravel 5 /Carbon : Unexpected data found / data missing

我现在不知道从哪里开始。我刚刚开始使用 Laravel 并尝试使用 Carbon & Faker 为数据库播种随机数据。我收到此错误消息:

[InvalidArgumentException]
Unexpected data found.
Unexpected data found.
Unexpected data found.
Data missing

我在 SO 上阅读了几个主题,但没有任何内容可以帮助我弄清楚发生了什么。我实际上正在按照教程进行操作,所以一切都应该没问题,但由于我可能使用的 Laravel 版本不同,所以我不确定(这里和那里的未成年人更改)。 这是我尝试播种的 table 的代码 (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();
    });
}

我试图更改日期格式,但它只是给我带来了一些其他错误。我不知道该怎么做...如果您需要更多信息,请告诉我。 如果能提供任何帮助,我将不胜感激

编辑:另外,当我将 createFromDFate 中的 'null' 值更改为普通日期(即 2017 年)时,我收到一条错误消息:

 [Symfony\Component\Debug\Exception\FatalThrowableError]

 Call to undefined function table()' 

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

您将 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