【发布时间】:2017-04-23 01:25:22
【问题描述】:
好的,假设我有一个 Post 模型,其属性为 name、slug 和 content。我想用我的 ModelFactory 生成模型,但想设置一个特定的名称,我通过覆盖值来做到这一点:
factory(App\Post::class)->create(["name" => "Something here"]);
但现在我希望通过使用(新)名称和不将其作为参数传递来自动生成 slug。喜欢
"slug" => str_slug($name);
这是可能的还是我需要手动编写 slug?
当使用->create(['name' => 'anything']); 下面的工厂时,不会创建 slug。
我现在的工厂
$factory->define(App\Post::class, function (Faker\Generator $faker) {
static $name;
return [
'name' => $faker->name,
'slug' => $name ?: str_slug($name),
'content' => $faker->sentences(),
];
});
【问题讨论】:
标签: php laravel laravel-5 factory laravel-5.3