0

我想问一下提交表单时持久化两个实体的可能性。那可能吗?

$em = $this->getDoctrine()->getManager();
        $em->persist($a);
        $em->persist($b);
        $em->flush();

知道我在两个实体之间有公共字段。实际上,这些字段是由于两个实体之间的多对一关系而生成的。此外,我会将一些字段添加到第二个实体中。

4

1 回答 1

1

是的,可以保留两个实体,但首先检查您的实体关系,例如,如果 AoneToMany与 B 有关系,那么您将在实体中有一个addB()方法。A

在这个特定用例中持久化相关实体就像添加cascade={"persist"}你的关系和持久化一样简单A

如果您想B在保存之前添加一些特定的简单逻辑A及其B相关元素,您可以放入此逻辑,addB()以便每次将B元素添加到您的A实体时,您都会得到更改(设置正确的状态,日期,...等)你想要的。

于 2013-04-15T09:40:14.797 回答