Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 - Fatal编程技术网

Php 如何连接到symfony中配置数据库以外的其他数据库

Php 如何连接到symfony中配置数据库以外的其他数据库,php,symfony,doctrine,Php,Symfony,Doctrine,我想连接到另一个数据库和/或在symfony中创建一个新数据库。我如何才能做到这一点,同时获得访问它的表 我在应用程序中寻找如何做到这一点 php bin/console doctrine:query:sql 'SELECT * FROM product' 但是找不到任何答案。您不能直接从Symfony创建数据库,但可以使用创建表。 如果愿意,您甚至可以使用bin/控制台和条令:Migrations:diff生成迁移,以基于您的实体生成迁移 对于可用于配置的多个数据库,您可以在代码中获取特定容

我想连接到另一个数据库和/或在symfony中创建一个新数据库。我如何才能做到这一点,同时获得访问它的表

我在应用程序中寻找如何做到这一点

php bin/console doctrine:query:sql 'SELECT * FROM product'

但是找不到任何答案。

您不能直接从Symfony创建数据库,但可以使用创建表。 如果愿意,您甚至可以使用bin/控制台和条令:Migrations:diff生成迁移,以基于您的实体生成迁移

对于可用于配置的多个数据库,您可以在代码中获取特定容器并从中实例化条令

此外,如果您对选择感兴趣,我将考虑以下解决方案:

// This assumes an entity called 'entity' exists.
$query = $entityManager->createQueryBuilder('entity');
return $query->getResult();

看看这个,应该有帮助:


简而言之,您可以定义处理不同数据库连接的不同实体管理器

您需要配置多个实体管理器,请检查

然后,您可以使用以下命令:

php bin/console doctrine:database:create --connection=<your_entity_manager_name>
php bin/console doctrine:query:sql --connection=<your_entity_manager_name>

我如何使用服务容器来实现此目的??很抱歉要求提供更多详细信息。很抱歉,我目前没有合适的示例。但是你可以在service.yaml中定义多个容器,我们是如何做到的,我们定义了多个应用程序,每个应用程序都有自己的配置。因此,它们都将使用各自配置的容器。基本上像。我希望这对您有所帮助。是的,您可以直接从Symfony创建数据库。开发人员可以在运行composer req doctrine maker后,通过编辑数据库URL路径,修改.env文件,以便根据需要为新数据库创建任何名称。从那时起,开发人员将运行phpbin/console原则:database:create,在给定的数据库系统中创建数据库和表。接下来可以创建实体并使用migrations:diff来总结一些事情。条令:查询:sql查询的是同一个数据库,不是吗?