Laravel --- artisan创建表以及填充表数据流程总结
1.创建建表文件
php artisan make:migration create_comments_table
打开database/migrations/xxx_create_comments_table.php:
public function up()
{
Schema::create('comments',function(Blueprint $table){
$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('article_id');
$table->integer('user_id');
$table->string('content');
$table->timestamps();
});
} /**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('comments');
}
2.生成表
php artisan migrate
3.创建填充表数据的文件
php artisan make:seed ReplyTableSeeder
1).打开:database/seeds/CommentsTableSeeder.php
use Illuminate\Database\Seeder; class CommentsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(\App\Models\Comment::class)->times(30)->create(); // 表示创建30条数据。factory方法对应第三步
}
}
2).打开database\seeds\DatabaseSeeder.php
use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(CommentsTableSeeder::class); // 会调用CommentsTableSeeder的run方法
}
}
3).打开database\factories\ModelFactory.php
$factory->define(App\Models\Comment::class, function (Faker\Generator $faker) {
$user = DB::table('users')->select('id')->orderBy(DB::raw('RAND()'))->first();
if(empty($user))
{
$user->id = 0;
}
$article = DB::table('articles')->select('id')->orderBy(DB::raw('RAND()'))->first();
if(empty($article))
{
$article->id = 0;
}
return [
'user_id'=>$user->id, // user表随机查询
'article_id'=>$article->id, // 从article表u随机查询
'content' => '内容:'.$faker->text, // faker用法自寻,或转到vendor\fzaninotto\faker\src\Faker\Generator.php,看文件开头的注释
];
});
4).如何让faker填充中文
打开app\Providers\AppServiceProvider.php:
public function boot()
{
\Carbon\Carbon::setLocale('zh'); // 针对时间包,转化后为中文的时间 //生成中文数据
$this->app->singleton(FakerGenerator::class, function() {
return FakerFactory::create('zh_CN');
});
}
注:设置后faker属性仍是英文,是因为包里面就没有中文数据
4.生成数据
php artisan db:seed
5.假如要新增表,那么在建好建表的文件后,执行php artisan migrate,会提示xxx表已经存在,需要先回滚
php artisan migrate:rollback // 会调用建表文件中的down方法,把数据库结构恢复到最初状态
6.回滚完毕后,再重复1~4
Laravel --- artisan创建表以及填充表数据流程总结的更多相关文章
- laravel使用创建的request作为表单验证类
1.使用命令行工具创建request php artisan make request:validateLoginRequest 2.创建后进入app/Http/Requests目录下找到创建的文件 ...
- (转载)EF 使用code first模式创建数据库和 填充种子数据
第一篇:来自 .net 开发菜鸟 博主的文章:https://www.cnblogs.com/dotnet261010/p/8035213.html 第二篇:来自 JustYong 博主的文章:htt ...
- JavaScript之表格操作(二)创建表格病填充表格数据
//创建表格 var tableOptions = { way: "insertBefore", //insertBefore,append positionId: "d ...
- 数据库(一)--通过django创建数据库表并填充数据
django是不能创建数据库的,只能够创建数据库表,因此,我们在连接数据库的时候要先建立一个数据库. 在models.py中 from django.db import models class Pu ...
- Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)
无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后 ...
- 4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作
进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts ...
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...
- 一起学Hive——创建内部表、外部表、分区表和分桶表及导入数据
Hive本身并不存储数据,而是将数据存储在Hadoop的HDFS中,表名对应HDFS中的目录/文件.根据数据的不同存储方式,将Hive表分为外部表.内部表.分区表和分桶表四种数据模型.每种数据模型各有 ...
- python pynssql创建表,删除表,插入数据,查询
import pymssql server='10.194.**.***:*****' user='sa' password='******' database='******' #连接 conn=p ...
随机推荐
- onload 事件
定义和用法 onload 事件会在页面或图像加载完成后立即发生. 语法 onload="SomeJavaScriptCode" 参数 描述 SomeJavaScriptCode 必 ...
- 【转】cygwin中文乱码(打开gvim中文乱码、安装svn后乱码)
想用cygwin less看log,可能包含德语.格式是乱的,很多类似"ESC"之类的乱码. 结果这个解决方案似乎也不错,有排版,有颜色高亮. ------------------ ...
- 使用Eclispe 查看api技巧
使用eclispe都会知道当我们把鼠标的光标放到指定发方法上时程序会弹出一个提示,大家不要无论这个提示这个提示就是源码中的说明包含了函数參数使用方法 非常多时候我们碰到一个不会的方法的时候第一步都会选 ...
- 简述WPF中的画刷(Brush)
原文:简述WPF中的画刷(Brush) -------------------------------------------------------------------------------- ...
- WPF党旗和国徽!
原文:WPF党旗和国徽! 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyisen0713/article/details/18087007 ...
- WPF与缓动(三) 指数缓动
原文:WPF与缓动(三) 指数缓动 WPF与缓动(三) 指数缓动 ...
- CentOS6.5优盘安装
从CentOS6.5开始直接把iso文件写入u盘就可实现优盘安装 windows平台:1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)2.然后点“启 ...
- C# IDisposable接口的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- WCF调试日志
WCF调试,打不了断点or远程调试时,在配置文件的<configuration>结点下面加一段,就可以在对应位置查看服务器调试日志了,远程调试完毕发送亦可! <system.diag ...
- .Net中使用数据库(sqlite)的大体流程(简单向)
说来数据库,各种语言各种数据库在操作上大体无异,基本都是连接数据库.操作数据库.关闭数据库连接的流程,不过Sqlite由于是单文件数据库,相比其他服务器的数据库连接更简单,只需要给定数据库文件的路径即 ...