laravel 数据填充

编写填充器

php artisan make:seeder UserTableSeeder

修改Laravel安装时自带的DatabaseSeeder类,添加一个数据库插入语句到run方法:

<?php

use DB;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder{
    /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        DB::table(‘users‘)->insert([
            ‘name‘ => str_random(10),
            ‘email‘ => str_random(10).‘@gmail.com‘,
            ‘password‘ => bcrypt(‘secret‘),
        ]);
    }
}

使用模型工厂

使用帮助函数factory来插入记录到数据库。

创建50个用户并添加关联关系到每个用户:

public function run(){
    factory(‘App\User‘, 50)->create()->each(function($u) {
        $u->posts()->save(factory(‘App\Post‘)->make());
    });
}

调用额外的填充器

DatabaseSeeder类中,使用call方法执行额外的填充类

public function run(){
    Model::unguard();

    $this->call(UserTableSeeder::class);
    $this->call(PostsTableSeeder::class);
    $this->call(CommentsTableSeeder::class);
}

运行填充器

php artisan db:seed
php artisan db:seed --class=UserTableSeeder

你还可以使用migrate:refresh命令来填充数据库,该命令还可以回滚并重新运行迁移,这在需要完全重建数据库时很有用:

php artisan migrate:refresh --seed
 
时间: 2024-10-10 09:17:36

laravel 数据填充的相关文章

使用 Laravel 数据填充功能生成中文测试数据

今晚--不对,是昨晚,折腾一个的小项目,发现自动填充的中文数据显示起来总不太美观,于是开始琢磨如何填充中文数据进行测试. 然而一番搜索后惊奇的发现,官方.以及一些非官方的文档均未提及这一功能.期间看到一篇他人的"经验"文章,虽然可以实现这一需求,却要求修改 vendor 目录下 fzaninotto/Faker 包的源码,对于一个中了 Laravel 的"优雅之毒"的人来说,怎能容忍如此风骚的操作? 一定有更好的办法-- 继续理清 Laravel 模型工厂原理之后,

Laravel 5.2 数据库迁移和数据填充

一.数据库迁移 Laravel 的数据库迁移提供了对数据库.表.字段.索引的一系列相关操作. 1. 创建迁移 使用 Artisan 命令  php artisan make:migration create_links_table 这将在 database/migrations 目录下生成一个名为 2017_05_06_151645_create_links_table.php 的友情链接迁移类.其中,名字的前半段 "2017_05_06_151645_" 是 Laravel 增加的时

laravel框架之数据迁移和数据填充

一.数据迁移 1.创建一个迁移 1>使用artisan命令make:migration来创建一个新的迁移: php artisan make:migration create_sutdents_table 新的迁移位于database/migrations目录下,每个迁移文件名都包含时间戳从而允许Laravel判断其顺序. 2>其他一些选项 --table用来指定表名 php artisan make:migration create_students_table --table=studen

laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完

开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 --migration 的缩写,告知 Artisan 在创建模型同时创建与之对应的迁移文件(我使用的是 Laradock 作为开发环境): 当然,还需要编辑默认生成的迁移文件: use Illuminate\Support\Facades\Schema; use Illuminate\Database

laravel中的数据迁移和数据填充

laravel中的数据迁移和数据填充 标签(空格分隔): php 生成迁移文件两种方式: 1 新建一个表的迁移文件 php artisan make:migration create_students_table --create=students 2 创建模型的时候同时创建迁移文件 php artisan make:model Model\Article -m 创建迁移文件和执行 1 在 up 方法里完成数据表字段的创建 2 执行命令 php artisan migrate 生成填充文件 ph

【ECharts】SSH+JQueryAjax+Json+JSP将数据库中数据填充到ECharts中

1导入包,搭建SSH框架. 导入JQuery的JS包,<script src="JS/jquery-1.7.1.js"></script> 导入ECharts的包.<script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script> 前提你的SSH已经搭好了,数据已经传递到了Struts层. 2在Action层,将数据封装成J

jQuery.fill 数据填充插件

博客园的伙伴们,大家好,I'm here,前段时间特别的忙,只有零星分散的时间碎片,有时候用来发呆,有时候用来写代码,正如下面给大家介绍的这个jQuery.fill插件,正是在这样的状态下写出来的. 主要功能 一直想要一个能解决前端拼接html代码的jQuery插件,但在网上搜来搜去都没找到满意的结果.还是老毛说的对,自己动手丰衣足食啊,设计的思路是通过在页面上排出模板,然后通过脚本向其填充数据,页面上的脚本不再关心版面的布局和样式,只关心数据,将数据从UI中分离出来,其主要的功能有:1.对DO

C# 将Excel里面的数据填充到DataSet中

/// <summary> /// 将Excel表里的数据填充到DataSet中 /// </summary> /// <param name="filenameurl">Excel文件的路径(包含文件名)</param> /// <param name="table">Excel的文件名</param> /// <returns></returns> public st

MVC客户端使用 Mustache.js把json数据填充到模版中

使用Mustache的好处是:可以把一些反复用到的html部分定义成Mustache模版,以便多次使用.使用Mustache的大致步骤是: →从后台拿到json数据 →获取前台页面预先定义好Mustache模版(占位符必须和从后台传来的的字段或属性名一致) →遍历每行的json数据,使用Mustache.render(template, row)方法把json数据填充到对应的占位符,得到html内容 →把html内容追加到页面的某个位置 显示一个足球俱乐部的下拉框: 当点击下拉框,显示该俱乐部的