Symfony Alice Faker库从数组中随机选择

Symfony Alice Faker库从数组中随机选择,symfony,nelmio-alice,alice-fixtures,Symfony,Nelmio Alice,Alice Fixtures,我正在尝试使用for Symfony Framework生成一个虚拟数据。除了我正在寻找一种方法将数组中的数据随机分配到名为type的属性之外,一切似乎都很正常。通过查看,我可以看到我可以使用randomElement($array=array('a','b','c'))生成它。 我试图将其转换为YML,我认为这相当于 <randomElement(['a','b','c'])> 我最终创建了一个自定义提供者 namespace AppBundle\DataFixtures\Fak

我正在尝试使用for Symfony Framework生成一个虚拟数据。除了我正在寻找一种方法将数组中的数据随机分配到名为
type
的属性之外,一切似乎都很正常。通过查看,我可以看到我可以使用
randomElement($array=array('a','b','c'))生成它。

我试图将其转换为YML,我认为这相当于

<randomElement(['a','b','c'])>

我最终创建了一个自定义提供者

namespace AppBundle\DataFixtures\Faker\Provider;

    class JobTypeProvider
    {
        public static function jobType()
        {
            $types = array("paid", "unpaid", "contract");
            $typeIndex = array_rand($types);
            return  $types[$typeIndex];
        }
    }
将其添加到
services.yml

AppBundle\Entity\Job:
    job{1..5}:
        title: <jobTitle()>
        description: <paragraph(3)>
        length: "3_months_full_time"
        type: <randomElement(['a','b','c'])>
        bonus: <paragraph(3)>
        expired_at: "2016-12-21"
        job_user: "@emp*"
app.data_fixtures_faker_provider.job_type_provider:
    class: AppBundle\DataFixtures\Faker\Provider\JobTypeProvider
    tags: [ { name: nelmio_alice.faker.provider } ]
然后在yml文件中使用它

AppBundle\Entity\Job:
    job{1..50}:
        title: <jobTitle()>
        description: <paragraph(3)>
        length: <jobLength()>
        job_industry: "@title*"
        type: <jobType()>
        bonus: <paragraph(3)>
        expired_at: "2016-12-21"
        job_user: "@emp*"
AppBundle\Entity\Job:
作业{1..50}:
标题:
说明:
长度:
行业职位:“@title*”
类型:
奖金:
截止日期:“2016-12-21”
作业用户:@emp*
通知类型:,这是现在从服务生成的

这对我很有用:

parameters:
    profileArray: ['PUBLIC', 'PRIVATE', 'AUTHENTICATED']

JobPlatform\AppBundle\Entity\Profile:
    profiles_{1..100}:
        user: '@user_<current()>'
        visibility: <randomElement($profileArray)>
参数:
profileArray:['PUBLIC','PRIVATE','AUTHENTICATED']
JobPlatform\AppBundle\Entity\Profile:
配置文件{1..100}:
用户:“@user\ux”
能见度:

您是否尝试过
?是的,我尝试过,这会引发一个错误,无法找到变量“array”。您可能需要引用整个结果,如
类型:“
@Oldskool不起作用,也会引发异常