Custom Faker Provider: Reuse city



我构建了一个自定义的Faker Provider来生成球队名。

是这样的:

<?php
namespace AppFaker;
use CarbonCarbon;
use FakerProviderBase;
class TeamProvider extends Base
{
...
public function teamName()
{

$name[] = static::randomElement(static::$prefixes);
...
$name[] = $this->generator->city;
//some more stuff to create a nice team name
return implode(" ", $name);
}
}

这个在我的Factory中运行良好:

/**
* Define the model's default state.
*
* @return array
*/
public function definition(): array
{
return [
'name' => $this->faker->teamName,
'city' => $this->faker->city
];
}

但是:TeamProvider生成了一个城市,而这个城市不是Factory's faker生成的城市。

所以teamName是(只是一个例子)AC Glasgow 1990AC Glasgow的城市是London;-)这没有多大意义;-)

所以我的问题是:我如何在这种情况下重用city来获得有效的结果?

当我再次阅读文档时,我提到了我的问题。Faker并不用于创建某种"逻辑上"的数据。就像真人的数据一样。它只是用有效的数据填充模型的字段。所以它对于修补和测试是有用的,但对于引导一些有效和一致的数据不是有用的。

相关内容

  • 没有找到相关文章

最新更新