Reviews
下面,我们再打开在 Laravel 数据库 这个课程里创建的一个 reviews 数据表,去添加一个字段 ..
add_user_id_to_reviews_table
给 reviews 表添加一个 user_id 字段 .. 用户发布评论的时候,在 reviews 表里,存储用户的 id 号 ... 可以使用 Schema 的 table 方法 ... 指定一下要修改的数据表 ... 然后在后面的匿名函数里,去添加一个字段 ... 字段的类型是 integer ... 名称是 user_id ... 这个字段不能为空 ...
Schema::table('reviews', function(Blueprint $table)
{
$table->integer('user_id')->nullable();
});
down
再去设置一下 down 方法 ... 首先是删除掉 users 表 ... 下面再加上一个,删除掉 reviews 表里面的 user_id 这个字段 ..
Schema::table('reviews', function(Blueprint $table)
{
$table->dropColumn('user_id');
});
完在以后,去执行一下这个 migration ... 打开命令行工具 ...
php artisan migrate
再打开数据库去看一下 ...
在数据库里,你会发现多了一个 users 数据表 ... 这个表里有一些字段 ...
再打开 reviews 表 ... 在这个表里,会多出一个 user_id 字段 ...
Seed
下面,我们再去给 users 表添加一些演示数据 ... 可以去创建一个 seeder ... 在 database 这个目录里面,找到 seeds
新建一个文件 ... 命名为 UserTableSeeder ... 先去创建一个类 ... 叫做 UserTableSeeder ... 让它去继承 Seeder .. 在这个类里面,定义一个 run 方法 ...
先去准备一些数据 .. 这些数据就是要往 users 表里面插入的演示数据 ..
注意这里,user_password 这个数据我们使用了 Hash 类的 make 方法,去加密了一下 ...
最后再把这些数据插入到 users 这个表里面。 再去编辑一下 DatabaseSeeder.php ... 添加一行代码
$this->call('UserTableSeeder');
这样在运行 db:seed 命令的时候,就可以把在 UserTableSeeder 里面定义的数据插入到指定的数据表里面。
打开命令行工具 .. 输入 php artisan db:seed ...
再打开数据库 ... 找到 users 表 ... 现在,这里面,会有一些演示的数据 ...