Thinkphp5 使用composer中seeder播种机
前因:
前几天,客户要求做一个会员问答的系统,我就按流程做了,到了需要调用数据库数据时,觉得一个个添加又有点笨~
解决过程:
后来查了查手册,看看国外blog案例,我搞出来了个不错的方法~~~
我的使用记录已截图:



直到后面这个,显示出,时间,就表明播种机运行成功了~

以下是使用官方过程
Seeder 的创建
在 Thinkphp5 项目中,我们可以在命令行输入下面这条命令:
php think seed:create UserSeeder
创建一个 UserSeeder 文件,创建成功之后你可以在 database/seeds 目录下面看到:
database
|-seeds
|-|-UserSeeder.php
其内容如下:
<?php
use think\migration\Seeder;
class UserSeeder extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run()
{
}
}
代码非常的简单,默认的给出了一个 run 方法,现在我们都知道 seeder 文件是用来产生模拟数据的,而产生模拟数据的代码写在 run 方法中就可以了。
Seeder 的 run 方法
在 run 方法中,我们可以随意填写了可以填充数据库的任意代码。这里我就抛砖引玉啦:
要求:
给数据表 Users 模拟生成100条数据。表结构如下:
| 字段 | 说明 |
|---|---|
nickname |
呢称 |
email |
邮箱 |
password |
密码 |
收到需求后,我可以这样写:
<?php
use think\migration\Seeder;
class UserSeeder extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run()
{
$rows = [];
for ($i = 0; $i < 100; $i++) {
$rows[] = [
'nickname' => mt_rand(10000, 99999),
'email' => mt_rand(10000, 99999).'@qq.com',
'password' => md5('123456'),
];
}
$this->table('users')->insert($rows)->save();
}
}
注意:一定要调用
save()方法,否则不会保存的。
首先呢,我生成了100条数据,然后调用 $this->table('users')->insert($rows)->save(); 将生成的数据插入到数据库的 Users 表中。是不是很简单? ^ - ^.
执行 Seeder
Seeder 文件定义好了之后,还必须得执行一下数据才能插入到数据库中,我们可以这样执行:
php think seed:run
执行成功提示: All Done. Took 0.0552s。可以看到:

Thinkphp5 使用composer中seeder播种机的更多相关文章
- ThinkPHP5作业管理系统中处理学生未交作业与已交作业信息
在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业.那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student).班级(class).作业提 ...
- ThinkPHP5 与 composer
我是通过安装composer来获取tp5安装的,也是学习一下 在 Windows 中,你需要下载并运行 Composer-Setup.exe. 安装时,要选择本地环境中php.exe作为跟目录,这个可 ...
- thinkphp5.0 分页中伪静态的处理
1.修改文件\thinkphp\library\think\Paginator.php(此文件用于分页) isurl是否为伪静态 加入isurl用于判断是否使用伪静态分页 */ protected $ ...
- [Fiddler] 在 Composer 中对HTTP报文进行编辑,重新执行
如果想要对某个HTTP请求进行编辑,然后重新执行观察结果,可以将这个报文从左侧拖放到右侧的Composer里面 这样就可以很方便的修改HTTP请求的方法,报文头,报文体 在用 SoapUI 做 API ...
- ThinkPHP5通过composer安装Workerman安装失败问题(避坑指南)
$ composer require topthink/think-workerUsing version ^2.0 for topthink/think-worker./composer.json ...
- composer中常用命令
一些常用的composer命令: # 显示所有已经安装的包 composer show # 移除指定的依赖包package_name composer remove package_name # 搜索 ...
- thinkphp5.0 composer安装phpmailer
1.安装:composer require phpmailer/phpmailer 2.引入:use PHPMailer\PHPMailer\PHPMailer: 3.调用:$mail = new P ...
- ThinkPHP5通过composer安装Workerman安装失败问题
报错: topthink/think-worker v3.0.2 requires topthink/framework ^6 https://blog.csdn.net/Douz_lungfish/ ...
- thinkphp5 Windows下用Composer引入官方GitHub扩展包
很多新手,比如说我,写代码就是在windows下,所以总会遇到很多不方便的地方,比如说GitHub上面的代码更新了,要是你在linux,只要几行命令就可以搞定更新了,在windows下面,你需要用到C ...
随机推荐
- 我要为运维说一句,我们不是网管,好不!!Are you know?
运维 运维,这里指互联网运维,通常属于技术部门,与研发.测试.系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同. 一个互联网产品的生成一般经历的过程是:产 ...
- Python学习---网络文件上传
中心思想: 传递过去文件的大小,根据文件的大小判断是否文件上传完成: 传递/接受文件采用分流的形式,每次传递/接受部分数据: 文件的读取均采用绝对路径实现,而且是bytes的形式读写 客户端: # ...
- Nginx配置虚拟机,url重写,防盗链
配置目录: · 虚拟主机 · PHP支持 · URL重写 · 防止盗链 · 持续更新… 一.虚拟主机 1.创建 文件格式:{域名}.conf 具体如下: $ s ...
- mysql/MariaDB 搭建后创建密码及开启远程
创建密码: mysqladmin -u root -p password 123 或 MariaDB [(none)]> use mysql MariaDB [mysql]> update ...
- zt 设计模式六大原则(3):依赖倒置原则
下面说法对不对? 父类将算法(逻辑)封装起来,子类实现细节:这个就叫DIP(依赖倒置:Dependency Inversion Principles),模板模式就是这个原则的实现.如果在父类中加一个t ...
- SAP CRM One order里user status和system status的mapping逻辑
Below example show: How the mapping relationship between User status and System status maintained in ...
- What is Systems Architecture ?
What is Systems Architecture ? Systems Architecture is a generic discipline to handle objects (exi ...
- PHP------关于字符串的处理
每一种语言对,字符串都是比较重要的,因为字符串牵扯到输出. 尤其是在网页里面,所有的内容输出,都要以字符串的形式展示在页面上.比如,输出换行.输出一段话或者输出一个标签,都是以字符串来输出的:有时用数 ...
- 20、Springboot 与数据访问(JDBC/自动配置)
简介: 对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合 Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置.引入 各种xxxTemplate,x ...
- 获取Windows安装日期