2017-02-17 1 views
0

어디서부터 시작해야할지 모르겠습니다. 나는 Laravel을 시작하고 Carbon & Faker를 사용하여 무작위 데이터로 데이터베이스를 시드하려고합니다. 이 오류 메시지가 나타납니다.Laravel 5/Carbon : 예기치 않은 데이터가 발견되었습니다/데이터가 없습니다.

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

나는 그것에 대해 말하는 몇 가지 주제를 읽었지만 어떤 일이 일어나는지 알아낼 수는 없습니다. 실제로 튜토리얼을 따라 가며 모든 것이 잘되어야하지만 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(); 
    }); 
} 

방금 다른 오류가 나옵니다. 나는 무엇을해야할지 모르겠다. 당신이 더 많은 정보가 필요하면 말해줘. 나는이

편집에 어떤 도움을 주셔서 감사합니다 : 또한, 일반 날짜 (예 : 2017) 나는 오류가 내 createFromDFate의 '널 (null)'값을 변경 메신저는 말을 할 때 :

[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

아, 여기 우리가 간다! 그 점을 지적 해 주셔서 감사합니다, 나는 이것에 관한 나의 질문을 편집하고있었습니다. 당신이 말했듯이, 나는 그대로 null을 쓰려고했지만, 그 오류 "정의되지 않은 함수 테이블() 호출"! 편집을 참조하십시오 ... 이해가 안됩니다 – DevMoutarde

+0

나는 DB : table ('utilisateurs') -> insert "(자습서에서 설명한 바와 같이) 하나만 ':'으로 쓴 것을 알아 챘지만 두 개가 있어야합니다 ':' 권리? DB :: table을 작성하면 다른 오류가 발생합니다 ..... – DevMoutarde

+0

편집 된 대답은 이중 콜론이 누락 된 것입니다. 변경 후 어떤 오류가 있습니까? – aynber

관련 문제