2017-04-21 58 views
0

我在表中插入虚假记录,但它不在数据库中移动。您可以检查我的代码如下: -在laravel中插入查询

public function up() 
    { 
     Schema::create('employees', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('email',255)->unique(); 
      $table->string('contact_number'); 
      $table->timestamps();  
     }); 

     $faker = Faker\Factory::create(); 

     $limit = 33; 

     for ($i = 0; $i < $limit; $i++) { 
      DB::table('employees')->insert([ 
       'name' => $faker->name, 
       'email' => $faker->unique()->email, 
       'contact_number' => $faker->phoneNumber, 
      ]); 
     } 
    } 

有人可以告诉我我在哪里错了吗?请帮我解决一下这个。

回答

0

如果要将值添加到数据库,应使用seeder。对于播种机检查这里:https://laravel.com/docs/5.4/seeding

+0

我试过,但没有成功。 –

+0

请发布您的播种代码。 –

+0

public function run() $ faker = Faker \ Factory :: create(); $ limit = 33; ($ i = 0; $ i <$ limit; $ i ++)DB :: table('employees') - > insert('name'=> $ faker-> name, 'email' => $ faker-> unique() - >电子邮件, 'contact_number'=> $ faker-> phoneNumber, ]); } } –

0

推动这一逻辑来seeder

$limit = 33; 

for ($i = 0; $i < $limit; $i++) { 
    DB::table('employees')->insert([ 
     'name' => $faker->name, 
     'email' => $faker->unique()->email, 
     'contact_number' => $faker->phoneNumber, 
    ]); 
} 

然后运行php artisan db:seed命令来执行播种机。

0

使用PHP工匠制作:播种机EmployeesSeeder,比写入新的播种机文件验证码:

class EmployeesSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     $faker = Faker\Factory::create(); 

     Employee::truncate(); 

     foreach(range(1, 33) as $index) 
     { 
      Employee::create([ 
       'name' => $faker->name, 
       'email' => $faker->unique()->email, 
       'contact_number' => $faker->phoneNumber, 
      ]); 
     }     
    } 
} 

更多detailіDatabase: Seeding