2016-12-21 1 views
1

私はを使ってダミーデータを生成しようとしています。 typeという名前のプロパティに配列のデータをランダムに割り当てる方法を探している以外は、すべて正常に動作しているようです。 faker libraryを見て、私はrandomElement($array = array ('a','b','c'))Alice Fakerライブラリ配列からランダムに選択

を使用すると、私はYMLにその変換しようとしていると私はそれが

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

のと同等だと思う。しかし、これは誤り

を生成することを生成できることがわかります

[Nelmio \ Alice \ Throwable \ Exception \ FixtureBuilder \ ExpressionLanguage \ LexException] 値「['a'」をレキシングできませんでした。

これは私の完全な私は

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

app.data_fixtures_faker_provider.job_type_provider: 
    class: AppBundle\DataFixtures\Faker\Provider\JobTypeProvider 
    tags: [ { name: nelmio_alice.faker.provider } ] 

にそれを追加し、YMLファイルにそれを使用するカスタムプロバイダを作成することになった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*" 
+0

あなたは 'みました'? – flyx

+0

はい、私は、エラーをスローしました変数 "配列"を見つけることができませんでした。 – Baig

+0

'type:" ''のように、結果全体を引用する必要があるかもしれません。 – Oldskool

答えて

1

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*" 

お知らせタイプ:、これは今サービスから生成されています。

0

これが私の作品:

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

JobPlatform\AppBundle\Entity\Profile: 
    profiles_{1..100}: 
     user: '@user_<current()>' 
     visibility: <randomElement($profileArray)> 
関連する問題