诚城的成长 诚城的成长
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)

诚城

我有N个梦想……
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)
  • 入门指南
  • passport

  • 表单验证

  • 模型与迁移

    • uuid
    • 模型关联
    • 模型工厂
      • 创建工厂
      • 初始化数据库并填充数据
      • 使用
      • faker
        • 生成唯一
        • 字符和数字
        • 句子
        • 图片
  • 中间件
  • event and listen
  • trait
  • artisan 命令
  • laravel9
  • 模型与迁移
诚城
2022-06-14
目录

模型工厂原创

# 创建工厂

php artisan make:factory PostFactory

新工厂将放置在你的 database/factories 目录下。

# 初始化数据库并填充数据

php artisan migrate:refresh --seed

# 使用

$user = User::factory()->make();  // 创建一个实例 不会保存到数据库
$users = User::factory()->count(3)->make(); // 创建3个实例 不会保存到数据库

$user = User::factory()->create();  // create 创建的实例会保存到数据库中;
$users = User::factory()->count(3)->create(); // create 创建的实例会保存到数据库中;

$user = User::factory()->create([
    'name' => 'Abigail', // 重新设置 name 字段内容 
]);

// Y N 顺序切换
$users = User::factory()
        ->count(10)
        ->state(new Sequence(
            ['admin' => 'Y'],
            ['admin' => 'N'],
        ))
        ->create();
// 随机分配角色
$users = User::factory()
          ->count(10)
          ->state(new Sequence(
              fn ($sequence) => ['role' => UserRoles::all()->random()],
          ))
          ->create();
// 根据用户基本信息 创建21条 用户、工作者、用户信息,随机分配性别
$userBase = UserBaseInfo::factory()
            ->count(21)
            // 创建用户
            ->has(User::factory()->state(function (array $attributes, UserBaseInfo $userBaseInfo) {
                return ['user_base_info_id' => $userBaseInfo->id]; // 将
            }))
            // 创建工作者
            ->has(Worker::factory()->state(function (array $attributes, UserBaseInfo $userBaseInfo) {
                return ['user_base_info_id' => $userBaseInfo->id]; // 将
            }))
            // 创建用户身份信息
            ->has(UserIdInfo::factory()->state(function (array $attributes, UserBaseInfo $userBaseInfo) {
                return ['user_base_info_id' => $userBaseInfo->id];
            }))
            ->state(new Sequence(
                ['gender' => 'w'],
                ['gender' => 'm'],
                ['gender' => 'o'],
            ))
            ->create();

# faker

官网 (opens new window)

点击查看

# 生成唯一

$this->faker->unique();

# 字符和数字

# 数字

$faker->randomDigit(); // 0到9 
$faker->randomDigitNot(2); // 0到9 不包含2

$faker->randomNumber(5, false); // 0到最大5位数
$faker->randomNumber(5, true); // 5位数

# 句子

$faker->sentence(); // 默认生成包含6个单词的单句

$faker->sentence(3); // 生成指定数量单词的单句。

$faker->sentences(); // 默认生成包含3个分句的句子。

$faker->sentences(2); // 生成指定数量分句的句子。

$faker->paragraph(); // 默认3个句子的段落

$faker->paragraph(2); // 生成指定数量句子的段落。

$faker->paragraph(2, false);

$faker->paragraphs(); // 默认3个句子的段落

$faker->text(); // 默认200长度的文本

$faker->text(50); // 指定长度的文本

# 使用正则表达式

$this->faker->regexify('/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|17[0-9]|18[0-9])\d{8}$/');

# 图片

$faker->imageUrl(360, 360, 'animals', true, 'dogs', true, 'jpg'); // 宽(默认640)、高(默认640)、图片分类(默认null)、随机化(只有true)、图片分类关键字(默认null)、图片格式(默认png)

``

上次更新: 2022/08/23, 18:12:45
模型关联
中间件

← 模型关联 中间件→

Theme by Vdoing | Copyright © 2022-2022 carveybunt | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×

特别申明:

本站所有内容均为个人理解或转载,如有不当之处,敬请大佬指导!