laravel的数据表填充器使用详解

目录
  • 一、数据表填充器
    • 1.1 填充器(种子文件)的创建与编写
      • 1.1.2、创建填充器
      • 1.1.3、【重点】编写填充器代码
    • 1.2 执行填充器文件

一、数据表填充器

填充操作就是往数据表中写测试数据的操作(增加操作),在开发阶段是很实用的功能。

1.1 填充器(种子文件)的创建与编写

1.1.1、填充器默认的所在目录

1.1.2、创建填充器

php artisan make:seeder 填充器名称 【约定俗成的写法,大写表名 + TableSeeder】
例:以paper为例,则名称应该为PaperTableSeeder
php artisan make:seeder PaperTableSeeder
创建好的种子文件:

1.1.3、【重点】编写填充器代码

实现往数据表中写入数据
注意:在填充器文件中可以使用DB门面去新增数据,但是需要注意,DB门面在使用的时候不需要用户自己引入,一旦引入则报错,可以直接使用。建议使用DB门面方法写入新的数据。
使用DB类进行数据写入:

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class PaperTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        \DB::table('paper') -> insert([
            [
                'paper_name'  => '小学1年级语文考试',
                'total_score' => 100,
                'start_time'  => time() + 86400,
                'duration'    => 120,
                'status'      => 1
            ],
            [
                'paper_name'  => '小学1年级数学考试',
                'total_score' => 100,
                'start_time'  => time() + 86400,
                'duration'    => 120,
                'status'      => 1
            ],
            [
                'paper_name'  => '小学1年级体育考试',
                'total_score' => 100,
                'start_time'  => time() + 86400,
                'duration'    => 120,
                'status'      => 1
            ],
        ]);
    }
}

1.2 执行填充器文件

命令:
php artisan db:seed --class=需要执行的种子文件名(不带.php)
种子文件不像迁移文件,迁移操作有单独的对应关系表去记录,由于种子文件的执行没有任何的记录,所以在执行种子文件的时候需要指定需要执行的种子文件。


到此这篇关于laravel的数据表填充器使用的文章就介绍到这了,更多相关laravel数据表填充器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • php+laravel 扫码二维码签到功能

    简介 为满足公司签到业务场景 最终敲定使用微信二维码来实现 微信公众号相关配置 在微信公众平台登陆上去后,点开开发中的基本配置看到的基本信息 框架及拓展包 laravel overtrue/laravel-wechat 安装方式:composer require "overtrue/laravel-wechat:^6.0" 详细了解请看:laravel-wechat 配置文件及对应信息 config/wechat.php /* * 公众号 */ 'official_account' =

  • laravel ajax curd 搜索登录判断功能的实现

    今天来说说关于laravel的各种操作 混杂了一点ajax先来个添加表单 有些英文的$没法打出来用中文代替 登录数据我和列表展示混在一起了,千万不要和我犯一样的错误. <form action="insert" method="post" enctype="multipart/form-data"> @csrf <div style="width: 600px;height: auto;margin: 20px aut

  • Laravel中Kafka的使用详解

    本文并没有kafka的安装教程,本文是针对已经安装kafka及其配置好kafka的php拓展并且使用laravel框架进行开发项目,配置一个可供laravel框架使用的生产及消费者类. 以下代码修改自本站的YII框架关于kafka类的代码,经过测试使用在本人的项目中,可正常运行,larvael版本:5.6 代码放置larvael框架位置:app/Tools/Kafka.php <?php namespace App\Tools; use Illuminate\Config\Repository;

  • 分析五个Laravel Dusk的使用技巧

    目录 1. 填充隐藏字段 2. 模拟 HTML 地理位置 3. 使用 XPath 选择器 4. 整页截屏 5. 访问浏览器错误日志 1. 填充隐藏字段 在测试某些 JS 组件时 (例如自动完成,日期选择器等) ,可能需要编写动作模拟操作与这些组件交互.犹豫这些组件中的大多数最终都会将值保存到隐藏字段中.那么将值直接填写到隐藏字段中可能更加方便.这可以防止不稳定的测试,并确保我们不测试自己不拥有 / 控制的东西 (第三方组件). 尽管 Laravel Dusk 没有为我们提供类似$browser-

  • 浅谈Laravel中使用Slack进行异常通知

    概述 通常,我们可以依靠用户反馈.经常查看程序日志来发现程序存在的问题.但这要么不可靠要么不及时,所以下面我们介绍一种比较有效的做法--使用 Slack 通知程序跑出的异常信息. Slack 是一款即时通信软件,类似于 QQ,它提供开放的 API,可以调用它向自己团队中指定的个人或者频道(Channel)发送消息,因此用它来进行异常通知是再合适不过的. 安装 maknz/slack-laravel 包 具体的安装方法请参考 Github 上的 [readme](https://github.co

  • 详解Laravel框架的依赖注入功能

    概述 任何时候,你在一个控制器类中请求一个依赖,这个服务容器负责: 1.自动地在构造函数中检测依赖关系 2.如果需要构建这个依赖关系 3.通过构造函数创建对象形成依赖关系 来看一个非常简单的例子. <?php namespace App\Http\Controllers; use App\User; use App\Repositories\UserRepository; use App\Http\Controllers\Controller; class UserController exte

  • Laravel的加密解密与哈希实例讲解

    一.加密解密 当你的应用程序中需要用到加密和解密的地方时可以使用Laravel自带的加密解密工具. Laravel 的加密机制使用的是 OpenSSL 所提供的 AES-256 和 AES-128 加密.强烈建议你使用 Laravel 内建的加密工具,而不是用其它的加密算法.所有 Laravel 加密之后的结果都会使用消息认证码 (MAC) 签名,使其底层值不能在加密后再次修改. 相应的配置文件 config/app.php 首先生成 APP_KEY php artisan key:genera

  • laravel使用redis队列实例讲解

    1.队列配置文件是config/queue.php(这里我默认配置即可): 2. 创建迁移表(failed-table .jobs.migrations) php artisan queue:table php artisan queue:failed-table php artisan migrate ps:出现下面错误,修改对应表名即可 ps:出现下面红色错误,修改如下图string(字段,长度(随便填)) 3.创建任务 1)生成任务类: 通常,所有的任务类都保存在 app/Jobs 目录.

  • 如何用Laravel包含你自己的帮助函数

    很多教程都会说,你在 composer.json 这个文件中通过添加一个自动加载的文件,就可以实现这个需求.但我认为这不是一个好的方式,当你在 helpers.php 文件中添加了更多的函数时,可读性将变得很差. 下面我将介绍一种方式,让你可以定义很多文件,来包含不同的函数.这将让我们的程序更加整洁和更具可读性. 首先创建一个 HelperServiceProvider.php 服务提供者文件: php artisan make:provider HelperServiceProvider 使用

  • laravel的数据表填充器使用详解

    目录 一.数据表填充器 1.1 填充器(种子文件)的创建与编写 1.1.2.创建填充器 1.1.3.[重点]编写填充器代码 1.2 执行填充器文件 一.数据表填充器 填充操作就是往数据表中写测试数据的操作(增加操作),在开发阶段是很实用的功能. 1.1 填充器(种子文件)的创建与编写 1.1.1.填充器默认的所在目录 1.1.2.创建填充器 php artisan make:seeder 填充器名称 [约定俗成的写法,大写表名 + TableSeeder] 例:以paper为例,则名称应该为Pa

  • laravel异步监控定时调度器实例详解

    定时调度器是什么 laravel默认提供了一个命令定时任务的功能,在其他的php框架下面,没有这个定时任务,我们要跑一些异步脚本怎么操作呢,只能依赖我们系统提供的crontab来做,这就导致我们每次发版本新增定时任务都要去服务器更改crontab代码,获取更新这个配置. 执行命令是php artisan schedule:run 来执行,那放在哪里执行呢,没错这个调起还是需要依赖我们crontab来执行,但是只需要配置一次,后续所有定时任务都在我们业务代码进行控制 场景 我们有一个导入数据的定时

  • Oracle表中重复数据去重的方法实例详解

    Oracle表中重复数据去重的方法实例详解 我们在项目中肯定会遇到一种情况,就是表中没有主键 有重复数据 或者有主键 但是部分字段有重复数据 而我们需要过滤掉重复数据 下面是一种解决方法 delete from mytest ms where rowid in (select aa.rid from (select rowid as rid, row_number() over(partition by s.name order by s.id) as nu from mytest s) aa

  • Laravel 将数据表的数据导出,并生成seeds种子文件的方法

    用过laravel的都知道,我们表里面的数据通常是保存到seeder文件中,但是有些时候需要将表里已有的数据导出到seed文件中,那么怎么导出呢,其实这里有个扩展包叫iseed,我们可以利用它来把数据表里的数据导出到seed中. 安装isseed 安装isseed,我这里是laravel 5.4,安装的iseed是2.1版本的,你们看情况,随意 composer require "orangehill/iseed": "2.1" 将iseed加入到composer.

  • ffmpeg播放器实现详解之框架搭建过程

    ffplay是ffmpeg源码中一个自带的开源播放器实例,同时支持本地视频文件的播放以及在线流媒体播放,功能非常强大. FFplay: FFplay is a very simple and portable media player using the FFmpeg libraries and the SDL library. It is mostly used as a testbed for the various FFmpeg APIs. ffplay中的代码充分调用了ffmpeg中的函

  • ffmpeg播放器实现详解之视频显示(推荐)

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它包括了目前领先的音/视频编码库libavcodec. FFmpeg是在 Linux 下开发出来的,但它可以在包括 Windows 在内的大多数操作系统中编译.这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermayer 主持.可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式. ffplay是ffmpeg源码中一个

  • SpringMVC实现表单验证功能详解

    本章节内容很丰富,主要有基本的表单操作,数据的格式化,数据的校验,以及提示信息的国际化等实用技能. 首先看效果图 项目结构图 接下来用代码重点学习SpringMVC的表单操作,数据格式化,数据校验以及错误提示信息国际化.请读者将重点放在UserController.java,User.java,input.jsp三个文件中. maven 项目必不可少的pom.xml文件.里面有该功能需要的所有jar包. <?xml version="1.0" encoding="UTF

  • python类:class创建、数据方法属性及访问控制详解

    在Python中,可以通过class关键字定义自己的类,然后通过自定义的类对象类创建实例对象. python中创建类 创建一个Student的类,并且实现了这个类的初始化函数"__init__": class Student(object):     count = 0     books = []     def __init__(self, name):         self.name = name 接下来就通过上面的Student类来看看Python中类的相关内容. 类构造和

  • C语言数据输入与输出实例详解

    C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执

  • PHP laravel中的多对多关系实例详解

    数据表之间是纵横交叉.相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系 一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然.比如一个用户有多种角色,反之一个角色对应多个用户. 为了测试该关联关系,我们沿用官网的用户角色示例: 需要三张数据表:users.roles 和 role_user,role_user 表按照关联模型名的字母顺序命名(这里role_user是中间表),并且包含 user_i

随机推荐