Php 将实体保存到Symfony中的指定表
我正在Symfony应用程序中实现数据库的水平切分。我有一个基于我创建的“模板”实体创建表的方法。例如,我的实体“AnswerData”将用于创建表,如“AnswerData\u sourceA”、“AnswerData\u sourceB”。。。等等,这些模式与基于实体的“AnswerData”模式完全相同。虽然我已经创建了数据库表,但我不太确定如何让Symfony和doctor指定要创建/保存实体的表 例如:Php 将实体保存到Symfony中的指定表,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我正在Symfony应用程序中实现数据库的水平切分。我有一个基于我创建的“模板”实体创建表的方法。例如,我的实体“AnswerData”将用于创建表,如“AnswerData\u sourceA”、“AnswerData\u sourceB”。。。等等,这些模式与基于实体的“AnswerData”模式完全相同。虽然我已经创建了数据库表,但我不太确定如何让Symfony和doctor指定要创建/保存实体的表 例如: $em = $this->getDoctrine()->getMana
$em = $this->getDoctrine()->getManager();
$answerData= new AnswerData();
$answerData->setData();
//Set other properties...
...
$em->persist($answerData);
$em->flush();
$em->clear();
上面会让Symfony/doctor将实体保存到“AnswerData”表中,但我不确定如何告诉它将实体保存到“AnswerData\u sourceA”表中。我应该编写处理此问题的自定义存储库类,还是可以修改上面的代码段以手动设置表?谢谢你的建议 如果我理解您想要保存到指定的表。你需要
/**
* @Entity
* @Table(name="AnswerData_sourceA")
*/
指定这样的名称。当应用程序代理到多个碎片时,该名称不起作用,例如,
\u source*
可以在运行时更改。似乎可以为每个碎片设置连接,然后根据选择表的条件确定在运行时要使用的连接。是否尝试在控制器中添加条件II?例如,如果它用于answerData\u sourceA,它将保存在answerData\u sourceA表中。B也一样