一、简介

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

Laravel 5.2 教程 - 数据填充的更多相关文章

  1. laravel的工厂模式数据填充:

    数据表post中的字段结构. database\factory\UserFactory.php $factory->define(App\Post::class,function (Faker ...

  2. Laravel 实践之路: 数据库迁移与数据填充

    数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...

  3. Laravel 5.2 数据库迁移和数据填充

    一.数据库迁移 Laravel 的数据库迁移提供了对数据库.表.字段.索引的一系列相关操作.下面以创建友情链接表为例. 1. 创建迁移 使用 Artisan 命令  php artisan make: ...

  4. laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完

    开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...

  5. 时间格式的处理和数据填充和分页---laravel

    时间格式文档地址:http://carbon.nesbot.com/docs/ 这是些时间格式,只需要我们这么做就可以 我们在模板层,找到对应的模型对象那里进行处理就可以啦 2018-11-08 16 ...

  6. laravel中的数据迁移和数据填充

    laravel中的数据迁移和数据填充 标签(空格分隔): php 生成迁移文件两种方式: 1 新建一个表的迁移文件 php artisan make:migration create_students ...

  7. avalon2学习教程 03数据填充

    数据填充是一个模版最基础的功能,直接从JSON(vm)取出数据,放到适当的位置上.在静态模板中,不区分文本与HTML,只看你的字符串是否有< >来决定生成文本节点与元素节点.但MVVM中, ...

  8. 迷你MVVM框架 avalonjs 学习教程4、数据填充

    MVVM是前端的究极解决方案,你们可能用过jQuery,但那个写的代码不易维护:你们可以听过说requirejs与seajs,传说中的模块开发,加载器,但它们的最终目标是打包:你们可能听过unders ...

  9. 2016 版 Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文基于 Laravel 5.2 版本,无奈 5 ...

随机推荐

  1. linux计算程序运行时间

    转自: http://www.cnblogs.com/NeilHappy/archive/2012/12/08/2808417.html #include <sys/time.h> int ...

  2. No module named machinery

    py2exe模块0.9版本只支持python3以上,要想在python2.7中运用,就要下载0.6 版本的py2exe http://sourceforge.net/projects/py2exe/f ...

  3. 使用Git将本地仓库与GitHub远程仓库相关联

    这篇文章详细讲解了如何生成SSH,并链接到GitHub,123..... 1.如果你的GitHub里面没有仓库,就自己生成一个,如图所示 2.如果你有自己仓库,想在电脑本地新建一个,你需要将GitHu ...

  4. HTML标签自定义属性

    本文章转载至:http://www.cnblogs.com/luoyanli/archive/2012/10/17/2727886.html HTML标签可以自定义属性,但是我们要考虑其在IE.Fir ...

  5. 文件IO理解

    一次读取写入单个字节 public class CopyFileDemo { public static void main(String[] args) throws IOException { F ...

  6. Django ORM模型的一点体会

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...

  7. python安装paramiko需要的依赖

    yum install gcc libffi-devel python-devel openssl-devel -y

  8. JIRA6.36-7.23数据迁移文档

    JIRA6.3.6-JIRA7.2.3数据迁移文档 安装JIRA7.2.3 安装包位于服务器/opt/SOFTWARE_PACKAGE目录下 建立JIRA安装的目录数据目录 cd /opt mkdir ...

  9. 计算两个date类型的时间差

    //两个时间之间分钟差 public static int compareDate(Date d1, Date d2) {        // TODO Auto-generated method s ...

  10. Unity 3D Framework Designing(7)——IoC工厂理念先行

    一谈到 『IoC』,有经验的程序员马上会联想到控制反转,将创建对象的责任反转给工厂.IoC是依赖注入 『DI』 的核心,大名鼎鼎的Spring框架就是一个非常卓越的的控制反转.依赖注入框架.遗憾的是, ...