Php Laravel 8工厂状态创建后

Php Laravel 8工厂状态创建后,php,laravel,laravel-7,laravel-8,Php,Laravel,Laravel 7,Laravel 8,Laravel 7工厂在创建状态()后有一个方法,,您可以在该方法中定义具有特定状态的模型保存到数据库后应该发生什么 $factory->afterCreatingState(App\User::class, 'active', function ($user, $faker) { // ... }); Laravel 8工厂没有这种方法,只有generalAfterCreation() public function configure() { return $this

Laravel 7工厂在创建状态()后有一个方法,您可以在该方法中定义具有特定状态的模型保存到数据库后应该发生什么

$factory->afterCreatingState(App\User::class, 'active', function ($user, $faker) {
    // ...
});
Laravel 8工厂没有这种方法,只有generalAfterCreation()

public function configure()
{
    return $this->afterCreating(function (User $user) {
        //
    });
}

如何实现此行为?

可以在状态定义方法中正确定义此行为

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

我想,这不是你问题的答案。这可能是对你的问题的编辑^^^不同意这绝对是一个答案。从投票结果来看,这是一个很有帮助的决定。直到我看到你的评论,我才意识到他们回答了自己的问题。