Alice Bundle:动态实体循环参数

时间:2016-09-23 08:34:05

标签: symfony faker nelmio-alice alice-fixtures

我使用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不是数组

如何动态生成我的实体数量?

1 个答案:

答案 0 :(得分:2)

由于固定装置yaml配置文件未与symfony参数合并,因此无法执行此类操作。

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

您可以创建自己的构建器方法,随机化插入的夹具行数。