步骤
创建项目
composer create-project laravel/laravel=5.5 blog
为users表添加字段
vim /database/migrations/2014_10_12_000000_create_users_table.php
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('role',20); //添加字段
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
数据表迁移(首先需要数据库信息配置正确)
不会配置的请查看网站PHP框架之Laravel5.5(十)用户脚手架系统
php artisan migrate
向数据库播种Seeder(创建seeder类)
php artisan make:seeder UsersTableSeeder
相当于创建好了/database/seeds/UsersTableSeeder.php文件
<?php
use Illuminate\Database\Seeder;
class UserTablesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
填充数据
在run函数下指定我们要填充的数据,调用DB::table指定users表调用insert方法写入数据
<?php
use Illuminate\Database\Seeder;
class UserTablesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('users')->insert([
'name' => 'admin',
'email' => 'admin@gamacode.com',
'password' => bcrypt('admin'),
'role' => 'admin'
]);
}
}
打开/database/seeds/DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
}
}
run里面默认调用的就是UsersTableSeeder,Seeder如果多了之后,run里面的顺序一定要写好(实际项目中会经常用到后面的表用到前面的表的数据),这里只有一个seeder,不考虑顺序问题直接解开注释:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(UsersTableSeeder::class);
}
}
写入数据到数据库的数据表
php artisan db:seed
Seeding: UsersTableSeeder
Seeder写入数据成功,打开数据库查看users表:
小补充
向数据库执行创建数据表并且写入所有的seeder填充数据只需要一条命令
php artisan migrate:refresh --seed