Return 来自 Laravel 中 .env 的数据类型

Return datatype from .env in Laravel

我想要基于我的环境的动态播种器。 (例如,在测试中,我只希望播种 100 行,而本地则为 10'000)。

我在配置中创建了 seeder.php,它正在调用 .env 文件中的值。

当我在我的播种机中使用配置时,它会返回一个字符串,该字符串对应于 .env 中的一个值,该字符串应该是一个整数。 例如:

.env.local:

SEED_USER_COUNT=10000

config\seeder.php:

return [
    'user_count' => env('SEED_USER_COUNT', 10),
];

UserSeeder

factory(User::class, config('user_count'))->create();

上面的方法不起作用,看起来 config('user_count') returns 是一个字符串 "10000" 而不是整数 10000

在配置文件中将您的变量转换为 int

config/seeder.php

return [
    'user_count' => (int)env('SEED_USER_COUNT', 10),
];

使用文件前缀正确调用配置

UserSeeder

factory(User::class, config('seeder.user_count'))->create();