2016-09-16 7 views
1

私はデータベースにいくつかのテーブルを含んでいます..(thsisesテーブル)..私はいくつかの偽のデータをシードしようとしましたが、私が実行するとき php artisan db:seed SQLエラーをスローします。これは私のこの工場の工場です:シードを使用しているエラー例外

$factory->define(App\Thesise::class, function (Faker\Generator $faker) { 

return [ 
    'program_id' =>$faker->numberBetween($min = 1, $max = 5), 
    'ar_title' =>$faker->sentences, 
    'en_title' =>$faker->sentences, 
    'student_id' =>$faker->numberBetween($min = 3, $max = 20), 
    'ar_brief' =>$faker->sentences, 
    'en_brief' =>$faker->sentences, 
    'ar_expalin' =>$faker->text, 
    'en_explain' =>$faker->text, 
    'date' =>$faker->date($format = '2000-01-01', $max = 'now'), 
    'primary_siminar' =>$faker->date($format = '2000-01-01', $max = 'now'), 
    'final_siminar' =>$faker->date($format = '2000-01-01', $max = 'now'), 
    'test_date' =>$faker->date($format = '2000-01-01', $max = 'now'), 
    'degree_date' =>$faker->date($format = '2000-01-01', $max = 'now'), 
    'degree' =>$faker->randomFloat($nbMaxDecimals = 2, $min = 60, $max = 100), // 48.8932 
    'degreey' =>$faker->sentences, 
    'mat_avg' =>$faker->randomFloat($nbMaxDecimals = 2, $min = 60, $max = 100), // 48.8932 
    'final_degree' =>$faker->randomFloat($nbMaxDecimals = 2, $min = 60, $max = 100), // 48.8932 
    'f_ad' =>$faker->numberBetween($min = 1, $max = 10), 
    'f_a' =>$faker->numberBetween($min = 1, $max = 10), 
    'j_ad' =>$faker->numberBetween($min = 1, $max = 10), 
    'j1' =>$faker->numberBetween($min = 1, $max = 10), 
    'j2' =>$faker->numberBetween($min = 1, $max = 10), 
    'file' =>$faker->sentences, 
]; 

});

、これは、このように私のアップ移行テーブルのための機能

public function up() 
{ 
    Schema::create('thesises', function(Blueprint $table) { 
     $table->increments('id'); 
     $table->integer('program_id'); 
     $table->string('ar_title'); 
     $table->string('en_title'); 
     $table->integer('student_id')->unsigned(); 
     $table->text('ar_brief'); 
     $table->text('en_brief'); 
     $table->longText('ar_expalin'); 
     $table->longText('en_explain'); 
     $table->date('date'); 
     $table->date('primary_siminar'); 
     $table->date('final_siminar'); 
     $table->date('test_date'); 
     $table->date('degree_date'); 
     $table->double('degree'); 
     $table->string('degreey'); 
     $table->double('mat_avg'); 
     $table->double('final_degree'); 
     $table->integer('f_ad'); 
     $table->integer('f_a'); 
     $table->integer('j_ad'); 
     $table->integer('j1'); 
     $table->integer('j2'); 
     $table->string('file'); 
     $table->timestamps(); 
    }); 
} 

ThesisesTabelSeederです:

class ThesisesTableSeeder extends Seeder 
{ 
/** 
* Run the database seeds. 
* 
* @return void 
*/ 
public function run() 
{ 
    factory(\App\Thesise::class , 10)->create(); 
} 

}

と私のようにそれを呼び出す:

class DatabaseSeeder extends Seeder 
{ 
/** 
* Run the database seeds. 
* 
* @return void 
*/ 
public function run() 
{ 
    $this->call(ThesisesTableSeeder::class); 
} 

}

私は種子..それはエラー例外(配列を文字列に変換)をスローする...任意の助けてください!

+0

私にあなたの工場に電話しているところを教えてください。 –

+0

私はそれをDatabaseSeederという形式で呼び出します。 –

+0

public function run() { $ this-> call(ThesisesTableSeeder :: class); } –

答えて

0

Faker\Generatorクラスによれば、メソッド/プロパティsentencesは文字列の配列を返します。

  • @property文字列$文
  • @method列文($ nbWords = 6、$ variableNbWords =真)
  • @property文字列|配列$文章
  • @method文字列|配列の文章($ NB = 3、$ asText = false)を

だから、あなたはメソッド/プロパティを使用する必要がありますsentence代わりに。例:

$factory->define(App\Thesise::class, function (Faker\Generator $faker) { 
    return [ 
     ... 
     'ar_title' => $faker->sentence, // or. 
     'en_title' => $faker->sentence(3, true), 
     ... 
    ]; 
} 
+0

ありがとうございました... –

関連する問題