【问题标题】:Return datatype from .env in Laravel从 Laravel 中的 .env 返回数据类型
【发布时间】: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();

标签: php laravel dotenv phpdotenv


【解决方案1】:

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

config/seeder.php

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

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

UserSeeder

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

【讨论】:

  • 行得通!谢谢(我在项目中正确调用了配置值,只是在这里输入错误)。
猜你喜欢
  • 2019-02-22
  • 1970-01-01
  • 2020-05-23
  • 2018-12-06
  • 2017-08-31
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多