gpt4 book ai didi

php - Laravel 工厂不调用回调 'afterCreating'

转载 作者:行者123 更新时间:2023-12-05 03:49:34 29 4
gpt4 key购买 nike

我尝试在使用 Factory 创建模型后对其进行修改。我已经定义了 configure() 方法,并在其中定义了我想要在模型中更改的内容。但是,Laravel 不会调用它,它会保存未修改的原始值。如何解决这个问题?

这是 MealFactory 中的配置函数:

public function configure()
{
return $this->afterCreating(function (Meal $meal) {
$meal->setTranslation('title', 'hr', 'Croatian translation' . $meal->getId())
->setTranslation('title', 'de', 'German translation' . $meal-getId());
});
}

在 table seeder 中我这样调用它:

    $meals = $mealFactory
->count(15)
->create();

最佳答案

根据 https://github.com/illuminate/database/blob/master/Eloquent/Factories/Factory.php

方法配置仅在调用方法 new 时调用,在当前版本中仅在调用 times 时调用,因此在您的情况下应该使用:

$mealFactory
->times(15)
->create();

关于php - Laravel 工厂不调用回调 'afterCreating',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63934826/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com