我想为夹具文件生成测试数据。我想生成测试数据,而不必输入数百条记录。
假设我的架构如下所示:
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]
我如何为员工生成测试数据(在我的YML文件中使用PHP)?我在Symfony文档中看到了这一点,但是,尽管再次搜索,我无法在SF网站上找到该页面(可能已被删除了吗?)
答案 0 :(得分:3)
我猜您正在寻找dynamic fixtures。并牢记这一点:
<?php ?>
语句必须始终开始该行,或者嵌入值。- 如果
<?php ?>
语句结束一行,您需要明确输出新行(“\ n”)
答案 1 :(得分:1)
Symfony曾经(并且可能仍然)allow PHP in it's configuration YML files,但我不确定fixtures文件。但是,听起来你不想在YML文件中尝试PHP,你只需要创建一个写一个巨大的YML文件的脚本。
要生成灯具,我建议在您定义的每个表中创建一行,然后将该数据转储到灯具文件中,为您的数据提供模板。然后使用该灯具模板为您的PHP脚本,用循环中生成的数据替换您的测试值。