2017-02-17 42 views
0

Я понятия не имею, с чего начать. Я только начинаю с Laravel и пытаюсь засеять базу данных случайными данными, используя Carbon & Faker. Я получил сообщение об ошибке:Laravel 5/Carbon: Неожиданные данные найдены/данные отсутствуют

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

Я прочитал несколько тем, которые говорят о том, что на SO, но ничего такого, что может помочь мне понять, что происходит. Im фактически следует за учебником, поэтому все должно быть хорошо, но поскольку я не могу быть в одной версии 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 
     ]); 
     } 
    } 
} 

Моя функция вверх() выглядит следующим образом:

public function up() 
{ 
    Schema::create('utilisateurs', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('titre'); 
     $table->text('texte'); 
     $table->timestamps(); 
    }); 
} 

Я попытался изменить формат даты, но его просто получив мне некоторые другие ошибки. Я не знаю, что делать ... скажите, пожалуйста, если вам нужна дополнительная информация. я был бы признателен за любую помощь по этому

Edit: также, когда им изменения «нулевое» значения в моей createFromDFate к обычной дате (т.е. 2017 г.), я получаю ошибку говоря:

[Symfony\Component\Debug\Exception\FatalThrowableError] 

Call to undefined function table()' 

, но что не должны ли вы ошибаться? Я имею в виду, я не должен вставлять здесь какую-нибудь дату?

ответ

1

Вы передаете 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 
+0

О, здесь мы идем! спасибо, что указали, что я просто редактировал свой вопрос об этом. Как вы сказали, я пробовал записывать нуль, как есть, но я получаю эту ошибку «Позвонить в неопределенную таблицу функций()»! См. Мое редактирование ... Я не понимаю – DevMoutarde

+0

Я также заметил, что я написал «DB: table ('utilisateurs') -> insert» (как сказано в учебнике) только с одним «:», но должно быть два ':' правильно? Если я напишу DB :: table, я получаю еще одну ошибку ..... – DevMoutarde

+0

Отредактированный ответ, вам просто не хватает двойной двоеточия. Какая ошибка после ее изменения? – aynber