数据迁移以及填充
/*******************迁移填充*******************/
/**迁移**/
php artisan make:migration create_test_table
//创建一个迁移文件
public function up()
{
Schema::create('goods',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->timestamps();
});
}
//新增一个name字段
composer dump-autoload
//执行迁移
/**数据填充**/
php artisan make::seeder TestTableSeeder
//生成Seeder文件
public function run()
{
DB::table('test')->insert([
'name' => 'hy'
]);
}
//在Seeder文件run方法里插入一条数据
php artisan db:seed --class=TestTableSeeder
//执行seed命令
/**模型工厂批量填充**/
php artisan make:model Test
//在app下生成一个模型
class Test extends Model
{
protected $table='test';
}
//对应test表
$factory->define(\App\Test::class,function(\Faker\Generator $faker){
return [
'name' =>$faker->name
];
});
//在database\factories中的ModelFactory.php里添加,在对应的字段填上对应的值
public function run()
{
factory(Test::class)->times(10)->create(); //create()表示插入数据库中
factory(Test::class)->times(10)->make(); //make()表示只生成对象,不插入表中
}
//在TestTableSeeder.php文件中的run方法里添加,并引入Test
php artisan db:seed --class=TestTableSeeder
//执行seed命令
/**单次执行全部seeder**/
public function run()
{
Model::unguard(); //取消模型的批量填充限制
$this->call(TestTableSeeder::class);
$this->call(TestTable1Seeder::class);
Model::reguard();
}
//database\seeds下的DatabaseSeeder.php文件可以对多个seeder进行管理
php artisan db:seed
//执行seed命令
这个人暂时没有 freestyle