laraver框架学习------工厂模型填充测试数据
在laravel中填充数据有几种方式。一种是Seeder,另一种是工厂模式进行的填充。
工厂模式可以实现大批量的填充数据,数据的量可以自定义。这也为后续的软件测试提供方便。
在laravel框架有database文件下有工厂模式的定义文件,可以在其后面定义自己的工厂模式,注意对自己model对应。
$factory->define(App\Models\Course::class,function (Faker\Generator $faker)
{
$faker=Faker\Factory::create('zh_CN');--使用faker生成中文数据
$category= App\Models\Category::find(1);--进行数据库的查询
$user=App\User::where('name', 'teacher')->first();
return[
'category_id'=>$category->id,
'stream_type'=>$faker->numberBetween($min=1,$max=2),
'name'=>$faker->name(),
'description'=>$faker->catchPhrase(),
'target_student'=>$faker->catchPhrase(),
'hours'=>$faker->numberBetween($min=32,$max=32),
'doclink'=>$faker->url(),
'thumblink'=>$faker->imageUrl(10, 20, 'cats', true, 'Faker'),
'teachername'=>$faker->name(),
'teacherdesc'=>$faker->catchPhrase(),
'user_id'=>$user->id,
'status'=>'待审核',
];
});
在自己的Seeder文件下建立一个该model对应的Seeder文件添加如下的代码实现工厂填充数据。
public function run()
{
//
Model::unguard();--取消限制
DB::statement('SET FOREIGN_KEY_CHECKS = 0 ;');--设置外键失效
Course::truncate();--清空表
factory('App\Models\Course', 10)->create();--使用上一步定义的工厂模式10是生成的数量
}
运行命令 php artisan db:seed --class='自己定义Seeder文件名'
laraver框架学习------工厂模型填充测试数据的更多相关文章
- TinkPHP框架学习-03模型类
1-----数据访问 2-----数据查询 3-----数据添加 4-----数据修改 5-----数据删除 创建一张nation表并写入三条测试数据 create table nation( `co ...
- laraver框架学习
最近开始学习laravel框架,这个框架在国外很流行,近些年开始在国内流行.自己而是刚开始学习这个框架. 使用composer 更新系统内的依赖包 在终端输入:composer update Entr ...
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
- .NET MVC学习之模型绑定
ASP.NET MVC学习之模型绑定(2) 继ASP.NET MVC学习之模型绑定继续 3.手工调用模型绑定 很多情况下我们都是通过形参的方式接收来自http流中的数据,这看似是完美的,但是缺少了 ...
- NVIDIA GPUs上深度学习推荐模型的优化
NVIDIA GPUs上深度学习推荐模型的优化 Optimizing the Deep Learning Recommendation Model on NVIDIA GPUs 推荐系统帮助人在成倍增 ...
- EF框架学习手记
转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...
- 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理
Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- 各种demo——CI框架学习
各种demo——CI框架学习 寒假学习一下CI框架,请各位多多指教! 一.CI的HelloWorld! 注意:CI禁止直接通过文件目录来访问控制器. ./application/controlle ...
随机推荐
- 使用 PowerShell 将数据磁盘附加到 Windows VM
本文介绍如何使用 PowerShell 将新磁盘和现有磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 若要 ...
- SQL Server Management Studio记住的密码丢失的问题
不知道各位经常使用SSMS的时候有没有碰到过这样的烦恼: 记住的密码总是丢失: 步骤如下: 登陆时,选择记住密码 在任何一个存储过程上点击右键,选择修改 这时候再次连接对象资源管理器时,刚刚记住的密码 ...
- Jboss EAP 6 EJB调用常见问题
1. 调用EJB的三种方法 调用EAP 6 EJB的第一种方法,使用JBoss API,如下: Properties p = new Properties(); p.put("remote. ...
- md5sum 和 sha256sum用于 验证软件完整性
md5sum 和 sha256sum 都用来用来校验软件安装包的完整性,本次我们将讲解如何使用两个命令进行软件安装包的校验: sha 是什么? sha 为 安全散列算法(英语:Secur ...
- Spark 分布式调试工具
0. 说明 编写工具类,考察 Spark 分布式程序的执行地点 1. 工具类编写 [ JMX ] Java Management Extend , Java 管理扩展服务. 主要用于运维和监控. [测 ...
- 一起学习Boost标准库--Boost.texical_cast&format库
今天接续介绍有关字符串表示相关的两个boost库: lexical_cast 将数值转换成字符串 format 字符串输出格式化 首先,介绍下lexical_cast ,闻其名,知其意.类似C中的at ...
- 记录一次向TiDB数据库导入数据的例子
导出数据 今天从Mysql的某个库中导出一个表大概有20分钟吧,等了一会终于导出成功了.查看一下文件的大小: [tidb@:vg_adn_CkhsTest ~]$du -h ./creative_ou ...
- 【第一次玩Travis CI】终于弄好了我的马鸭
真是不容易,我都要哭了.熬了半天终于弄完了!! 终于可以坐这儿挺会小曲,写写感受了. 作为一个程序写的不咋滴的程序员,倒是特别喜欢写博客,也是绝了. 高三的时候,用OneNote,后来转到Lofter ...
- [python] 统计某一路径下所有代码真实行数(空行已被过滤)
#-*- coding:utf-8 -*- ''' Created on 2018年8月15日 @author: anyd ''' import os list_line = [] filepat ...
- Nginx防hashdos模块使用帮助
经过上周一周朋友们帮忙测试和bug fix,nginx_http_hashdos_module已经达到可以线上使用的水平,下面是使用记录. 下载 #wget --no-check-certificat ...