Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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:数据库连接取决于url变量_Php_Symfony_Doctrine - Fatal编程技术网

Php Symfony:数据库连接取决于url变量

Php Symfony:数据库连接取决于url变量,php,symfony,doctrine,Php,Symfony,Doctrine,是否可以根据路由更改Symfony 4.1中与数据库的连接? 我有一个定义的用户数量,每个用户都有自己的数据库,所有数据库都有相同的模式 我找到了一种方法: 例如,对于路由http://sub.domain.com/one_user 我已经更改了条令的配置文件,如下所示:(在php中) 但我仍然无法在控制器中正常使用存储库和entityManager: 例如: $em = $this->getDoctrine()->getManager(); $listeClients=$em-&g

是否可以根据路由更改Symfony 4.1中与数据库的连接? 我有一个定义的用户数量,每个用户都有自己的数据库,所有数据库都有相同的模式

我找到了一种方法: 例如,对于路由
http://sub.domain.com/one_user

我已经更改了条令的配置文件,如下所示:(在php中)

但我仍然无法在控制器中正常使用存储库和entityManager: 例如:

$em = $this->getDoctrine()->getManager();
$listeClients=$em->getRepository(Clients::class)->findAll();
给出与以下相同的结果:

$em = $this->getDoctrine()->getManager('user1');
$listeClients=$em->getRepository(Clients::class)->findAll();
在这两种情况下,我都会得到数据库“default”的结果。 我认为问题来自对存储库的调用,因为如果我这样做了:

$em = $this->getDoctrine()->getManager('user1');
$oneClient=$em->find(Clients::class,1);

我从数据库“user1”中获取一个条目

显示
class_to_find_user_详细信息的代码
不可能,因为容器配置只转储一次,请参阅doctrinebunde如何配置多个连接:managers.htmltanks mblaetterman,我尝试配置多个连接,但我在从一个连接切换到另一个连接时仍然存在问题-请参阅编辑的帖子“在此处找到解决方案”:
$em = $this->getDoctrine()->getManager('user1');
$listeClients=$em->getRepository(Clients::class)->findAll();
$em = $this->getDoctrine()->getManager('user1');
$oneClient=$em->find(Clients::class,1);