Symfony 如何在XML文件格式中添加级联参数

Symfony 如何在XML文件格式中添加级联参数,symfony,doctrine-orm,doctrine,cascade,persist,Symfony,Doctrine Orm,Doctrine,Cascade,Persist,据我所知,我需要向映射添加一个“cascade”参数。但我的映射是XML。 我找到了很多关于它的信息,但是没有结果。 求救 Мy误差为: 通过给定的关联图找到了多个非持久化的新实体:\n\n*通过关系“Domain\Maintenance\Maintenance\affectedRegions”找到了一个新实体,该关系未配置为级联实体的持久化操作:Domain\AffectedRegion\AffectedRegion@0000000075384ba200000000535ab7f1. 要解决此

据我所知,我需要向映射添加一个“cascade”参数。但我的映射是XML。 我找到了很多关于它的信息,但是没有结果。 求救

Мy误差为: 通过给定的关联图找到了多个非持久化的新实体:\n\n*通过关系“Domain\Maintenance\Maintenance\affectedRegions”找到了一个新实体,该关系未配置为级联实体的持久化操作:Domain\AffectedRegion\AffectedRegion@0000000075384ba200000000535ab7f1. 要解决此问题,请对此未知实体显式调用EntityManager#persist(),或在映射中配置cascade persist此关联,例如@manytone(..,cascade={“persist”})。如果找不到导致问题的实体,请执行“Domain\AffectedRegion\AffectedRegion#uu toString()”以获取线索。\n*

XML失败:

<entity name="Domain\Maintenance\Maintenance" table="maintenances" repository-class="Infrastructure\Repositories\MaintenanceRepository">
    <id name="id" type="integer" column="id">
        <generator strategy="AUTO"/>
    </id>
    <field name="name" type="string"/>


    <one-to-many field="affectedRegions" target-entity="Domain\AffectedRegion\AffectedRegion" mapped-by="Domain\Maintenance\Maintenance" />
   <cascade>
            <cascade-merge/>
        </cascade>


</entity>

我想建立的关系是:

维护← 一对多→ 影响区← 多对一→ 地区

答案如下。 添加级联参数的另一种方法:

 <one-to-many field="affectedRegions" target-entity="Domain\AffectedRegion\AffectedRegion" mapped-by="maintenance">
        <cascade>
            <cascade-persist/>
            <cascade-remove/>
        </cascade>
    </one-to-many>

<entity name="Domain\Region\Region" table="regions" repository-class="Infrastructure\Repositories\RegionRepository">
    <id name="id" type="integer" column="id">
        <generator strategy="AUTO"/>
    </id>
    <field name="name" type="string"/>
    <field name="code" type="string"/>
    <one-to-many field="affectedRegions" target-entity="Domain\AffectedRegion\AffectedRegion" mapped-by="Domain\Maintenance\Maintenance" />
</entity>
    $affectedRegionTable->addForeignKeyConstraint(
        $regionTable,
        ['region_id'],
        ['id'],
        ['onUpdate' => 'CASCADE'],
        'fk_affectedRegions_region_id'
    );

    $affectedRegionTable->addForeignKeyConstraint(
        $regionTable,
        ['maintenance_id'],
        ['id'],
        ['onUpdate' => 'CASCADE'],
        'fk_affectedRegions_maintenance_id'
    );
 <one-to-many field="affectedRegions" target-entity="Domain\AffectedRegion\AffectedRegion" mapped-by="maintenance">
        <cascade>
            <cascade-persist/>
            <cascade-remove/>
        </cascade>
    </one-to-many>