Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 使用seed时出现错误异常_Laravel_Seed - Fatal编程技术网

Laravel 使用seed时出现错误异常

Laravel 使用seed时出现错误异常,laravel,seed,Laravel,Seed,我有一个数据库包含一些表…其中一个(thsises表)。。我试图散布一些虚假数据。。但是当我跑的时候 php artisan数据库:种子 它抛出一个SQL错误。。。这是我在这张桌子上的工厂: $factory->define(App\Thesise::class, function (Faker\Generator $faker) { return [ 'program_id' =>$faker->numberBetween($min = 1, $max = 5),

我有一个数据库包含一些表…其中一个(thsises表)。。我试图散布一些虚假数据。。但是当我跑的时候 php artisan数据库:种子 它抛出一个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,
];
}))

这是迁移表的up函数

   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();
    });
}
该种子是这样的:

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);
}
}


当我播种。。它抛出错误异常(数组到字符串转换)…请提供帮助

根据
Faker\Generator
类,方法/属性
语句
返回字符串数组

  • @属性字符串$语句
  • @方法字符串语句($nbWords=6,$variableNbWords=true)
  • @属性字符串|数组$句子
  • @方法字符串|数组语句($nb=3,$asText=false)
因此,您应该使用方法/属性
语句
。例如:

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

根据
Faker\Generator
类,方法/属性
语句
返回字符串数组

  • @属性字符串$语句
  • @方法字符串语句($nbWords=6,$variableNbWords=true)
  • @属性字符串|数组$句子
  • @方法字符串|数组语句($nb=3,$asText=false)
因此,您应该使用方法/属性
语句
。例如:

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

告诉我你在哪里以及如何调用你的工厂。我从DatabaseSederPublic函数run(){$this->call(TheseStableSeeder::class);}调用它,而TheseStableSeeder是。。。。。公共函数run(){factory(\App\Thesise::class,10)->create();}你能在你的问题中添加这行代码吗?告诉我你在哪里以及如何调用你的工厂。我从DatabaseSederPublic函数run(){$this->call(thesistableseeder::class);}中调用它,而sestableeder是。。。。。公共函数run(){factory(\App\thesis::class,10)->create();}}您能在问题中添加这行代码吗?