您的位置:首页 > 编程语言 > PHP开发

Laravel 5.2 教程 - 数据填充

2016-11-05 00:00 381 查看

一、简介

Laravel提供的填充类(seed),可以让大家很容易的实现填充测试数据到数据库。所有的填充类都位于database/seeds目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性,例如UsersTableSeeder等。

下面以创建学生表的填充为例,来介绍Laravel中数据填充的使用。(点击查看演示数据表结构

二、建立填充文件

1. 使用Artisan的 make:seeder 命令生成students表的填充文件:

php artisan make:seeder StudentsTableSeeder

将会在database/seeds目录下生成一个StudentsTableSeeder.php填充文件。

2. 插入填充代码

打开该文件后,有一个StudentsTableSeeder的类,里面有个run()方法。在run方法中可以插入任何你想插入的数据,可以使用查询构建器手动插入数据,也可以使用 Eloquent 模型工厂。

下面以使用查询构造器为例,完整代码如下:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class StudentsTableSeeder extends Seeder {
/** * Run the database seeds. * * @return void */
public function run() {
// 使用查询构造器
DB::table('students')->insert([
['name' => 'sean', 'age' => 18, 'sex' => 20],
['name' => 'chen', 'age' => 20, 'sex' => 30],
]);
}
}

三、执行填充文件

1. 执行单个填充文件

php artisan db:seed --class=StudentsTableSeeder

2. 批量执行填充文件

使用批量填充文件,需要在database/seeds/DatabaseSeeder类的run()方法中,将你想要运行的填充器类名传递过去即可:

public function run() {
$this->call(StudentsTableSeeder::class);
// $this->call(UsersTableSeeder::class);
// 以及其它填充类
}

然后执行如下命令:

php artisan db:seed

这样既可添加测试数据到students表中。

交友互动:

本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。
马燕龙个人博客:http://www.mayanlong.com
马燕龙个人微博:http://weibo.com/imayanlong
马燕龙Github主页:https://github.com/yanlongma
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: