从 Laravel 中的 .env 返回数据类型
Posted
技术标签:
【中文标题】从 Laravel 中的 .env 返回数据类型【英文标题】:Return datatype from .env in Laravel 【发布时间】:2020-05-04 12:29:26 【问题描述】:我想拥有基于我的环境的动态播种机。 (例如,在测试中,我只希望播种 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')
返回一个字符串"10000"
而不是整数10000
【问题讨论】:
你能不能只转换成 int 来解决这个问题,比如 factory(User::class, (int) config('user_count'))->create(); 【参考方案1】:在配置文件中将变量转换为int
config/seeder.php
return [
'user_count' => (int)env('SEED_USER_COUNT', 10),
];
用文件的前缀正确调用配置
UserSeeder
factory(User::class, config('seeder.user_count'))->create();
【讨论】:
行得通!谢谢(我在项目中正确调用了配置值,只是在这里输入错误)。以上是关于从 Laravel 中的 .env 返回数据类型的主要内容,如果未能解决你的问题,请参考以下文章
.env 变量在 Laravel 项目中的 Vue 组件中返回 undefined
laravel / lumen 访问中间件中的 .env 值