菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
2653
1

factory 填充数据是否可以暂时停用修改器

原创
05/13 14:22
阅读数 2530
# 数据表
`status` varchar(20) NOT NULL DEFAULT 'publish'

post status 字段是以 publish 、draft 两种保存.

# Post Model
    public function getStatusAttribute($value)
    {
        $post_status = ['publish'=>'已发表', 'draft'=>'草稿'];
        return $post_status[$value];
    }

Post Model 中添加 status 的修改器,这样输出的数据直接可视化的。

# 在填充数据中
<?php

use Faker\Generator as Faker;

$factory->define(App\Models\Post::class, function (Faker $faker) {

    $post_status    = ['publish','draft'];

    return [
        'title'             => $faker->sentence,
        'content'           => $faker->text,
        'excerpt'           => $faker->text,
        'status'            => $faker->randomElement($post_status),
    ];
});
use Illuminate\Database\Seeder;
use App\Models\Post;

class PostsTableSeeder extends Seeder
{
    public function run()
    {
        Post::insert(factory(Post::class)->times(100)->make()->toArray());
    }
}

填充后,在数据库中 status 字段值为修改器中的 已发表、草稿 的文字,想再填充的时候,直接填充 publish 、draft 这样的数据,

可以临时停用修改器么?

发表评论

0/200
2653 点赞
1 评论
收藏
为你推荐 换一批