【问题标题】:Laravel 8 factory state afterCreatingLaravel 8 出厂状态后创建
【发布时间】: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) {
        //
    });
}

如何实现这种行为?

【问题讨论】:

    标签: php laravel laravel-7 laravel-8


    【解决方案1】:

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

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

    【讨论】:

    • 我认为,这不是您问题的答案。 .它可能应该是您的问题的编辑
    • ^^^ 不同意这绝对是一个答案。从赞成票来看,这是一个有帮助的人。直到我看到你的评论,我才意识到他们回答了自己的问题。
    猜你喜欢
    • 2021-06-15
    • 2021-08-21
    • 2020-06-17
    • 1970-01-01
    • 2021-01-26
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    相关资源
    最近更新 更多