gpt4 book ai didi

php - Symfony2 - 一个捆绑中的两个数据库连接 - 似乎无法设置 - 请参阅我的代码

转载 作者:行者123 更新时间:2023-12-04 04:32:06 25 4
gpt4 key购买 nike

这就是我想要做的:

namespace BundleTwo\Controller;

use BundleOne\Entity\TestEntity;

class TestController
{

public function pageAction()
{

$insert = new TestEntity();
$insert->fieldName('test');
$em = $this->getDoctrine()->getManager('dbcon2');
$em->persist($insert);
$em->flush();

}

}

...所以上面的代码在 Bundle 2 中,它使用 Bundle 1 中的实体 - 但它需要使用 DB connection2。

我可以用这个 http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html设置两个数据库连接,我可以看到如何定义一个包使用哪个 EM,但我想要一个包有 2 个连接。

我认为上面的代码可以工作,但是当我运行 app/console algorithm:schema:update --em=dbcon2 时,它不会填充数据库中的任何内容,也不会检测到任何实体。我想我需要以某种方式让它意识到 BundleOne\Entity\TestEntity 也被 Bundle 2 和 DB 2 使用。

如果我可以将设置放在 BundleTwo 中来设置用于 BundleOne\Entity\TestEntity 的数据库连接,那么就可以做到。

最佳答案

您可以使用 mapping 指定哪些包包含实体元数据。属性(property)

doctrine:
orm:
default_entity_manager: dbcon1
entity_managers:
dbcon1:
connection: dbcon1
mappings:
BundleOne: ~
dbcon2:
connection: dbcon2
mappings:
BundleOne: ~

关于php - Symfony2 - 一个捆绑中的两个数据库连接 - 似乎无法设置 - 请参阅我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20439437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com