我正在尝试通过 Doctrine 创建多个记录,我遇到了一个奇怪的问题,它将成功创建第一条记录,但没有其他记录。假设我有以下内容,其中 Record 是 Doctrine 实体,record_id 是主键:
$entityManager->getConnection()->beginTransaction();
foreach($recordsToCreate as $data)
{
$record = new Record();
$record->field1 = $data['field1'];
$record->field2 = $data['field2'];
$entityManager->persist($record);
$entityManager->flush();
}
$entityManager->getConnection()->commit();
如果我有三条记录,第一条将被正确创建,而其他两条则不会。不会引发错误或异常,但不会在数据库中创建记录。如果我在刷新后输出每条记录,则所有字段都设置正确,但在第一条记录后主键为空。我认为这是一个 Doctrine 故障,但我想在提交错误报告之前确认一下。
谢谢。