Search code examples
phpsymfony1yaml

Generating data (using PHP) in a YML fixtures file


I want to generate test data for a fixture file. I wnat to generate the test data instead of having to type in hundreds of records.

Assuming my schema is as shown below:

  foobar_department_def:
    _attributes: { phpName: Department }
    id:
    name:             { type: varchar(64), required: true }

  foobar_qualification_def:
    _attributes: { phpName: Qualification }
    id:
    name:             { type: varchar(64), required: true }


  foobar_employee:
    _attributes: { phpName: Employee }
    id:
    first_name:       { type: varchar(64), required: true }
    last_name:        { type: varchar(64), required: true }
    biography:        { type: longvarchar, required: false }
    qualifi_id:       { type: integer, foreignTable: foobar_qualification_def, foreignReference: id, required: true, onUpdate: cascade, onDelete: restrict }
    dept_id:          { type: integer, foreignTable: foobar_department_def, foreignReference: id, required: true, onUpdate: cascade, onDelete: restrict }
    _uniques:
      idxu_fb_qly_dept:  [qualifi_id, dept_id]

How may I generate test data for employees (using PHP in my YML file)?. I saw this being done a little while agao, in the Symfony documentation - however, despite searching again, I can't locate the page on the SF website (maybe its been removed?)


Solution

  • I guess you are looking for dynamic fixtures. And really keep this in mind:

    • The <?php ?> statements must always start the line or be embedded in a value.
    • If a <?php ?> statement ends a line, you need to explicly output a new line ("\n").