一、简介

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. php表单提交--文件

    创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单: <!doctype html> <html> <head> ...

  2. Babel指南——基本环境搭建

    ECMAScript的现状 ECMAScript,本身是一个脚本语言的设计规范,基于此规范,有许多为人熟知的语言,如JavaScript.ActionScript等.而时至几年前,随着Node.js的 ...

  3. TensorFlow安装-windows系统

    官方各版本的安装说明:https://www.tensorflow.org/install/ 本文介绍如何在windows环境下安装tensorflow, 跑起来简单的demo. 1.安装python ...

  4. 【原】Linux设备网络硬件管理

    遇到网络问题时候,一般情况下,我们第一反应是查找软件方面问题,但排查之后,软件没有问题的时候,我们就需要排查硬件方面工作是否正常. 我们可能需要查询网卡设备本身的状态,查询网卡是否有数据包发送接收: ...

  5. IOS-验证码的实现和封装(可以直接调用)

    最近对OC中的图像比较感兴趣.随手搞得一个类似验证码的demo.直接贴代码了. 小demo中的VerificationCodeView是继承自UIView的,所以需要用到的时候,可以直接定义一个UIV ...

  6. PRINCE2的发展情况是什么样

    英国皇家特许培训机构AXELOS近期公布了一份调查结果,调查共有172位项目经理参与,其结果展示了未来全球趋势,对项目经理未来的职业形态和对他们必备技能的影响.  未来的项目管理职业  调查结果同时给 ...

  7. iOS最好用的引导页

    最近项目结束的时候又要改引导页,之前写的启动页改起来太麻烦了,所以就直接封装一个,功能可能还不是很完善,但是感觉用起来也比较方便,在这里和大家分享一下. 这是github的下载地址:https://g ...

  8. Vijos1523贪吃的九头龙【树形DP】

    贪吃的九头龙 传说中的九头龙是一种特别贪吃的动物.虽然名字叫"九头龙",但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头 ...

  9. [SinGuLaRiTy] 2017-03-27 综合性测试

    [SinGuLaRiTy-1013] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 这是 三道 USACO 的题...... 第一题:奶牛飞 ...

  10. 使用composer下拉组件失败,出现killed解决办法

    做项目时下载composer组件,出现killed提示,如图 一般是因为内存太小,将虚拟机内存设置大一点即可,在虚拟机关机的时候设置 下载成功