当我们创建好表结构后 通常都要生成一些测试用的数据来测试,应对这个场景呢 Laravel提供了相当好的服务 --seed

Laravel的seeder都会放在:/database/seeders 目录中,并且会提供一个DatabaseSeeder 在DatabaseSeeder的run方法中你可以调用其他你创建的seeder


1 创建一个Seeder

运行artisan创建:

php artisan make:seeder ArticlesSeeder

1.1 使用构建器填充

seeder中只有一个run方法 我们可以在run方法中执行我们的插入方法 在run中可以用构建器 也可以用模型工厂(关于这两点后续会写到哦)

    public function run()
{
DB::table('articles')->insert([
'title' => str_random(20),
'body' => str_random(200),
]);
}

1.2 使用模型工厂填充(常用)

    public function run()
{
factory(\App\User::class, 10)->create();
}

这样就创建了10个用户。


2 执行填充器

2.1 指定执行

比如说 咱就执行 ArticlesSeeder 这个填充器 可以这样写:

php artisan db:seed --class=ArticlesSeeder

2.2 默认执行

默认执行就是执行 DatabaseSeeder 这个填充器:

php artisan db:seed

2.3 调用自定义填充器

如果执行了 DatabaseSeeder 填充器,要不就在它的run方法中实现数据填充,要不就调用自定义填充器:

class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('ArticlesSeeder');
Model::reguard();
}
}

然后运行:

php artisan db:seed

Laravel5.1 填充数据库的更多相关文章

  1. Laravel5.1 Migration数据库迁移文件

    Migration方便于团队开发,它就像数据库的版本控制一样,它的功能就是可以和别人共享你的数据库结构.这么说可能不太好理解,你跟着敲敲就明白了. 0 前提工作-配置数据库 找到你根目录的 .env ...

  2. laravel5.2总结--数据库操作

    1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'hos ...

  3. [Laravel] 08 - Auth & Data Migration

    登录注册框架 一.加载Auth模块 Step 1, 安装Auth模块 生成相关 laravel 框架内部的代码模块: $ php artisan make:auth 自动添加了路由代码 在larave ...

  4. Laravel5.1学习笔记18 数据库4 数据填充

    简介 编写数据填充类 使用模型工厂类 调用额外填充类 执行填充 #简介 Laravel includes a simple method of seeding your database with t ...

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

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

  6. Laravel学习笔记(六)数据库 数据库填充

    数据库驱动的应用程序往往需要预先填充数据到数据库,以便进行测试和演示. 什么是种子数据 种子数据就是必须要加载了应用程序才能正常运行的数据.大多数应用程序需要在开发.测试和生产中加载一些参考数据. 一 ...

  7. Laravel 5.2数据库--填充数据

    1.简介 Laravel 包含了一个简单方法来填充数据库——使用填充类和测试数据.所有的填充类都位于database/seeds目录.填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性, ...

  8. ASP.net MVC5 Code First填充测试数据到数据库

    问题的产生  最近在看Adam Freeman的“Pro ASP.NET MVC5”,于是在工作机上面搭建了相应的运行环境,但是在自己的机器上面只有代码,没有数据库.记得在code first中可以新 ...

  9. 数据库SQL优化大总结之 百万级数据库优化方案

    1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

随机推荐

  1. linux文件系统比较

    Linux上有许多可用的文件系统.每个文件系统都有其特定的用途,以便于特定用户解决不同的问题.本文的焦点集中在Linux平台上文件系统的主流选择.毫无疑问,其它的场景下还有一些别的选择. 文件系统:它 ...

  2. Ext.ux.grid.feature.Searching 解析查询参数,动态产生linq lambda表达式

    上篇文章中http://www.cnblogs.com/qidian10/p/3209439.html我们介绍了如何使用Grid的查询组建,而且将查询的参数传递到了后台. 那么我们后台如何介绍参数,并 ...

  3. Entity Framework应用:EntityFramework DataBase First模式

    在这篇文章中讲解如何使用EF的DbFirst模式实现数据的增删改查 一.新建控制台应用程序,然后右键->添加新建项,选择数据里面的实体数据模型: 然后点击添加 二.选择来自数据库的EF设计器,并 ...

  4. 微信SDK 报错 invalid url domanin

    刚开始我在安全JS域名下填写: Http://hgj123.8.yydns.pw   带了Http 在微信中开打自己写好demo.报invalid url domanin 说我的无效URL. 然后我在 ...

  5. JQ 点击指定文本框显示div。点击其他区域隐藏DIV

    <input id="username" type="text" style="width:90%;margin-top: 40px;" ...

  6. 自然语言交流系统 phxnet团队 创新实训 项目博客 (六)

    从你进入软件开始,你就建立了和服务器的联系.这是一段和服务器的长连接,直到你退出此软件. 2D文字聊天界面大致实现了文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又 ...

  7. Airtest 网易 UI 自动化工具 Airtest 浅用记录

    一 使用目的 该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架同时也支持原生Android App 的基于元素识别的UI自动化测试.本文主要使用目 ...

  8. Sanjeev Arora

    中文名:桑吉弗 阿罗拉 个人主页:https://www.cs.princeton.edu/~arora/ 生日:1968年一月 祖籍:印度 本科:1990年麻省理工大学毕业 博士:1994年加州伯克 ...

  9. 求 pi 的近似值题型汇总

    (注:暂时先记录这些问题,后期会持续更新) 一.用格雷戈里公式计算π的近似值,精度要求:最后一项的绝对值小于0.00001 1,用while循环实现 int denominator,flag; dou ...

  10. windows sever2003安装Wamp 2.5不成功——VC 11不支持Windows Server 2003和win XP?

    Windows Server 2003 安装Wamp 2.5不成功Wampserver 2.5 will not run on Windows XP 报错信息:C:\wamp\bin\apache\a ...