factory 填充数据是否可以暂时停用修改器
# 数据表
`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 这样的数据,
可以临时停用修改器么?
推荐文章: