Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将实体保存到Symfony中的指定表_Php_Symfony_Doctrine Orm_Doctrine - Fatal编程技术网

Php 将实体保存到Symfony中的指定表

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

我正在Symfony应用程序中实现数据库的水平切分。我有一个基于我创建的“模板”实体创建表的方法。例如,我的实体“AnswerData”将用于创建表,如“AnswerData\u sourceA”、“AnswerData\u sourceB”。。。等等,这些模式与基于实体的“AnswerData”模式完全相同。虽然我已经创建了数据库表,但我不太确定如何让Symfony和doctor指定要创建/保存实体的表

例如:

$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也一样