php - Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据

标签 php laravel eloquent

ListingFactory.php中我有这样的东西

return [
    'reviews' => json_encode([
        'user' => fake()->name(),
        'body' => fake()->paragraph(),
    ]),
]

此外,在 DatabaseSeeder.php 中我现在有这个

\App\Models\Listing::factory(10)->create();

当前的问题是它总是会生成一个评论实例。我想要的是一定范围内的随机数量的评论。

例如,现在 Review 的表格列将始终为 [{}],我想要类似 [{}, {}, { }][]

最佳答案

不要让事情变得复杂。只需生成一个随机数,然后生成那么多评论。

$reviews = [];
$amount = rand(1,10);

for($x = 0; $x < $amount; $x++ ){
   $reviews[] = [
        'user' => fake()->name(),
        'body' => fake()->paragraph(),
    ];
}


return [
    "reviews" => json_encode($reviews),
];

关于php - Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75695040/

相关文章:

php - 使用 PHP 解压/提取 zip 文件而不依赖任何扩展

php - Virtphp 和 phpbrew : setting up two different applications with different PHP versions on one server

php - 自动完成功能不适用于 mysql

phpunit - Artisan::call() 测试失败

ios - 在 swift 2.3 中将 UIImage 转换为 Base64

php - PHP中缺少对象属性如何解决?

php - Encrypter.php 中未定义函数 openssl_encrypt()

php - Laravel 4 Eloquent 关系不起作用

php - Laravel HasManyThrough 与 3 向数据透视表

php - Laravel 忽略查询中的多种类型的对象