Laravel 使用seed时出现错误异常
我有一个数据库包含一些表…其中一个(thsises表)。。我试图散布一些虚假数据。。但是当我跑的时候 php artisan数据库:种子 它抛出一个SQL错误。。。这是我在这张桌子上的工厂: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),
$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();}}您能在问题中添加这行代码吗?