我使用 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 不是数组
如何动态生成实体数量?
不可能执行类似的操作,因为固定装置 yaml 配置文件不会与 symfony 参数合并。
Nelmio\Alice\Fixtures\Fixture\RangeName
是用于验证和解析示例中的配置的类。
看一下 RangeName::canBuild()
,您将看到验证 yaml 密钥的正则表达式。
您可以创建自己的构建器方法,该方法将随机插入的固定装置行数。