Laravel 8 出厂状态后创建

Posted

技术标签:

【中文标题】Laravel 8 出厂状态后创建【英文标题】:Laravel 8 factory state afterCreating 【发布时间】:2021-02-10 21:40:31 【问题描述】:

Laravel 7 工厂有方法 afterCreatingState(),您可以在其中定义将具有特定状态的模型保存到数据库后应该发生的事情。

$factory->afterCreatingState(App\User::class, 'active', function ($user, $faker) 
    // ...
);

Laravel 8 工厂没有这个方法,只有通用的afterCreating()

public function configure()

    return $this->afterCreating(function (User $user) 
        //
    );

如何实现这种行为?

【问题讨论】:

【参考方案1】:

可以在状态定义方法中直接定义这种行为。

public function active()

    return $this->state(function (array $attributes) 
        return [
            'active' => true,
        ];
    )->afterCreating(function (User $user) 
        // ...
    );

【讨论】:

我认为,这不是您问题的答案。 .它可能应该是您的问题的编辑 ^^^ 不同意这绝对是一个答案。从赞成票来看,这是一个有帮助的人。直到我看到你的评论,我才意识到他们回答了自己的问题。

以上是关于Laravel 8 出厂状态后创建的主要内容,如果未能解决你的问题,请参考以下文章