1:置迁移数据表,创建生成模型和迁移文件:

php artisan make:model Article -m

2:接着,在框架中的database/migrations文件夹中找到刚创建的用户表Article

3:打开插入代码:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; class CreateArticlesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->id();
$table->string('name','100')->comment('文章标题');
$table->text('content')->comment('文章内容');
$table->string('author')->comment('文章作者');
$table->timestamps();
});
} /**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('articles');
}
}

4:然后此时执行迁移文件:

php artisan migrate

5:查库看表:

6:最后,我们开始使用Faker填充数据,创建用户的填充文件

php artisan make:seeder ArticleSeeder

7:

此时,我们需要在articles模型层中使用  protected $guarded = [];不然,会无法填充数据

<?php

namespace App\models;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
//
protected $guarded = [];
}

8:接着,我们生成一个数据工厂

php artisan make:factory ArticleFactory -m Models/Article

9:在ArticleFactory .php文件中修改填充文件的数据

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\models\Article;
use Faker\Generator as Faker; $factory->define(Article::class, function (Faker $faker) {
return [
// 'password' => bcrypt('admin'),
'name' => $this->faker->name,
'content'=>$this->faker->name,
'author' => $this->faker->name,
//password_hash('admin666')
// 'email' => $this->faker->unique()->safeEmail,
// 'phone' => $this->faker->unique()->phoneNumber,
];
});

10:在ArticleSeeder.php文件中:

<?php

use Illuminate\Database\Seeder;
use App\models\Article; class ArticleSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//重置表数据
Article::truncate();
//生成100条数据
factory(Article::class,100)->create();
//修改id=1用户
Article::where('id', 1)->update(['name' => 'admin']);
}
}

11最后在DatabaseSeeder.php中修改总调用

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call([
ArticleSeeder::class
]);
}
}

12,终端执行命令

php artisan db:seed

13:查库看表数据:

14,数据填充为中文,修改config\app.php

'faker_locale' => 'zh_CN',

laravel7 数据迁移及填充数据的更多相关文章

  1. Freemarker取list集合中数据(将模板填充数据后写到客户端HTML)

    1.模板写法: <html> <head> <title>freemarker测试</title> </head> <body> ...

  2. C#+EntityFramework编程方式详细之Code First 数据迁移

    在前几篇的C#+EntityFramework编程方式中介绍了C#+EntityFramework编程方式Code First ,Model First以及Dtatabase First 等编程方式, ...

  3. 【Redis】集群数据迁移

    Redis通过对KEY计算hash,将KEY映射到slot,集群中每个节点负责一部分slot的方式管理数据,slot最大个数为16384. 在集群节点对应的结构体变量clusterNode中可以看到s ...

  4. Entity Framework CodeFirst数据迁移

    前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

  5. EF Code First:实体映射,数据迁移,重构(1)

    一.前言 经过EF的<第一篇>,我们已经把数据访问层基本搭建起来了,但并没有涉及实体关系.实体关系对于一个数据库系统来说至关重要,而且EF的各个实体之间的联系,实体之间的协作,联合查询等也 ...

  6. HBase 数据迁移方案介绍

    一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下 ...

  7. HBase 数据迁移方案介绍 (转载)

    原文地址:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分 ...

  8. Bash实践:抽样检测数据迁移至Redis集群后的数据一致性

    熟悉了一段时间的Bash编程,因此借此任务操作一把bash编程,主要涉及到Redis单节点与Redis集群的操作 1. 任务背景 近日有个任务需要将历史的Redis(主从节点)中的数据迁移至Redis ...

  9. 数据迁移的应用场景与解决方案Hamal

    本文来自网易云社区 作者:马进 跑男热播,作为兄弟团忠实粉丝,笔者也是一到周五就如打鸡血乐不思蜀. 看着银幕中一众演员搞怪搞笑的浮夸演技,也时常感慨,这样一部看似简单真情流露的真人秀,必然饱含了许许多 ...

随机推荐

  1. 对axios的理解

    axios是基于promise的,可以使用promise api axios的请求方式 axios(config) axios.request(config) axios.get(url [,conf ...

  2. 监听器(Listener)详解及举例

    概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 监听器组成要素: 事件源:事 ...

  3. linux 设置connect 超时

    转载请注明来源:https://www.cnblogs.com/hookjc/ 将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即: 设置成非阻塞模式: 先用fcntl的F_GET ...

  4. High ASCII字符从bat文件到dos控制台的转化问题

    背景是这样的,由于项目需要,需要用silent install的方式安装一些程序,而安装参数中有一些High ASCII字符,如ùé.通过代码,使用默认编码(ANSI,说明下,我用的是法语的系统)创建 ...

  5. 通过ANT生成MANIFEST.MF中的Class-Path属性

    原文地址:http://reason2003.iteye.com/blog/1627353 之前做一个项目,主程序打包成一个jar文件,因为用到了很多第三方的lib包,所以直接通过java命令运行ja ...

  6. LVS-DR群集

    LVS-DR群集 目录 LVS-DR群集 一.LVS-DR的工作原理 1. LVS-DR数据包流向分析 2. IP包头及数据帧头信息的变化 3. DR模式的特点 4.LVS-DR中的ARP问题 (1) ...

  7. Msi.h causes compilation error in vs2010

    创建一个Win32 Console工程ReadFromMSM,什么都不需要做. 在ReadFromMSM.cpp文件中引入头文件: #include <msi.h> 编译,会发现有成堆的错 ...

  8. 【多线程与高并发原理篇:1_cpu多级缓存模型】

    1. 背景 现代计算机技术中,cpu的计算速度远远高于主内存的读写速度.为了解决速度不匹配问题,充分利用cpu的性能,在cpu与主内存之间加入了多级缓存,也叫高速缓存,cpu读取数据直接从高速缓存中读 ...

  9. 关于Synchronized你了解多少?

    1.说一说自己对于 synchronized 关键字的了解 synchronized是解决多线程之间访问资源的同步性,synchronized关键字可以保证被他修饰的资源在任何时刻只有一个线程访问. ...

  10. Linux基础:VLAN篇

    一.二层基础知识 1.1 vlan介绍 本小节重点: vlan的含义 vlan的类型 交换机端口类型 vlan的不足 1.1.1 vlan的含义 局域网LAN的发展是VLAN产生的基础,因而先介绍一下 ...