Alice Bundle:动态实体循环参数

问题描述 投票:0回答:1

我使用 Hautelook AliceBundle,它使用 Faker 来生成具有真实世界数据的装置。

在 Alice 中,我们可以在 YAML 文件中使用参数,如下所示:

parameters:
  pwd_parameter:   anything

My\UserEntity:
  #generate 10 users with password equals to my parameter
  user_{1..10}:
    password:      '<{pwd_parameter}>' 

是否可以使用参数来生成动态数量的灯具?

我正在寻找的解决方案是这样做:

parameters:
  pwd_parameter:   anything
  nb_users:        10

My\UserEntity:
  #generate nb_users users with password equals to my parameter
  user_{1..nb_users}:   #<---THIS IS THE PROBLEM
      password:    '<{pwd_parameter}>

我尝试过:

user_{1..  nb_users   }
user_{1.. <nb_users>  }
user_{1..<{nb_users}> }
user_{1..<{nb_users}> }

抛出:

警告:array_merge():参数 #1 不是数组

如何动态生成实体数量?

php symfony faker nelmio-alice alice-fixtures
1个回答
2
投票

不可能执行类似的操作,因为固定装置 yaml 配置文件不会与 symfony 参数合并。

Nelmio\Alice\Fixtures\Fixture\RangeName
是用于验证和解析示例中的配置的类。 看一下
RangeName::canBuild()
,您将看到验证 yaml 密钥的正则表达式。

您可以创建自己的构建器方法,该方法将随机插入的固定装置行数。

© www.soinside.com 2019 - 2024. All rights reserved.