Laravel5.1 填充数据库
当我们创建好表结构后 通常都要生成一些测试用的数据来测试,应对这个场景呢 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 填充数据库的更多相关文章
- Laravel5.1 Migration数据库迁移文件
Migration方便于团队开发,它就像数据库的版本控制一样,它的功能就是可以和别人共享你的数据库结构.这么说可能不太好理解,你跟着敲敲就明白了. 0 前提工作-配置数据库 找到你根目录的 .env ...
- laravel5.2总结--数据库操作
1 配置信息 1.1配置目录: config/database.php 1.2配置多个数据库 //默认的数据库 'mysql' => [ 'driver' => 'mysql', 'hos ...
- [Laravel] 08 - Auth & Data Migration
登录注册框架 一.加载Auth模块 Step 1, 安装Auth模块 生成相关 laravel 框架内部的代码模块: $ php artisan make:auth 自动添加了路由代码 在larave ...
- Laravel5.1学习笔记18 数据库4 数据填充
简介 编写数据填充类 使用模型工厂类 调用额外填充类 执行填充 #简介 Laravel includes a simple method of seeding your database with t ...
- Laravel 实践之路: 数据库迁移与数据填充
数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...
- Laravel学习笔记(六)数据库 数据库填充
数据库驱动的应用程序往往需要预先填充数据到数据库,以便进行测试和演示. 什么是种子数据 种子数据就是必须要加载了应用程序才能正常运行的数据.大多数应用程序需要在开发.测试和生产中加载一些参考数据. 一 ...
- Laravel 5.2数据库--填充数据
1.简介 Laravel 包含了一个简单方法来填充数据库——使用填充类和测试数据.所有的填充类都位于database/seeds目录.填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性, ...
- ASP.net MVC5 Code First填充测试数据到数据库
问题的产生 最近在看Adam Freeman的“Pro ASP.NET MVC5”,于是在工作机上面搭建了相应的运行环境,但是在自己的机器上面只有代码,没有数据库.记得在code first中可以新 ...
- 数据库SQL优化大总结之 百万级数据库优化方案
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
随机推荐
- 华为路由器GRE配置
1. 协议简介 gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议 ...
- Android SDK Manager速度慢
转载自:http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html Android SDK Manager 无法下载更新,或者更新速度超慢 ...
- Django添加防跨站请求伪造中间件
第一步: 在全局设置中打开此中间件: MIDDLEWARE_CLASSES = [ ... 'django.middleware.csrf.CsrfViewMiddleware', ... ] ...
- sql server 2012 删除服务器名称
SQL Server 2008 R2及以前版本: http://blog.csdn.net/downmoon/article/details/5678468 SQL Server 2012: 删除这两 ...
- 【oneday_onepage】——The Secret Of Steve<1>
The Secret Of SteveThe secret of Steve is simple. It explains his success and excess. It exemplifies ...
- 关于jquery版本冲突问题
今天做项目时,碰到一个问题,纠结了好几个小时.我需要引入jquery-1.9.1.js来满足我引入的别的js文件,但同时,我也需要引入jquery.js,这个是必须要引入的.而这两个不能只引入一个,同 ...
- Python __all__系统变量
#__all__系统变量的使用 ''' __all__可以赋值一个字符串列表,列表中的元素表示外界调用该py文件可以使用的函数或者类 如果使用了__all__系统变量,并且调用该py文件使用的是fro ...
- How to deal with "Could not find component on update server. Contact VMware Support or your system administrator." in Vmware.
手动将vmware安装目录下的vmtools镜像文件,windows.iso文件放到虚拟机的光区里. 再进入虚拟机的系统,在系统里打开光盘进行安装
- FPGA中的时序分析(二)
使用Timequest 笔者对Altera较熟悉,这里以quartus ii中的timequest作为讲解. Timequest分析时序的核心,也就是在于延迟因数的计算.那么建立约束文件,去告诉tim ...
- Quick solution to java.lang.NoClassDefFoundError: org/openqa/selenium/HasInputDevices error
In case if you face this problem, one of the possible solutions that will work for you is to make su ...