Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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 使用动态自定义租户连接进行Laravel请求验证_Php_Laravel - Fatal编程技术网

Php 使用动态自定义租户连接进行Laravel请求验证

Php 使用动态自定义租户连接进行Laravel请求验证,php,laravel,Php,Laravel,我正在创建一个具有多个数据库的SaaS应用程序,并根据登录的用户动态设置与数据库的连接。当我想知道怎么做的时候 我现在的问题是将$request->validate函数与unique和exists函数一起使用 文档中说,我们可以通过执行以下操作来设置自定义数据库连接: 'email' => 'unique:connection.clients,email' 但这迫使我在config\database.php文件中创建连接,这是我不想做的事情 目前,如果我这样做: $request->

我正在创建一个具有多个数据库的SaaS应用程序,并根据登录的用户动态设置与数据库的连接。当我想知道怎么做的时候

我现在的问题是将
$request->validate
函数与
unique
exists
函数一起使用

文档中说,我们可以通过执行以下操作来设置自定义数据库连接:

'email' => 'unique:connection.clients,email'
但这迫使我在
config\database.php
文件中创建连接,这是我不想做的事情

目前,如果我这样做:

$request->validate(['email' => 'required|unique:clients,email']);
我的错误是:

找不到基表或视图:1146表 “mydb_管理客户端”


这是正确的,因为我的管理数据库没有表
clients
。那么,在我现有的系统中,如何对我的子数据库使用
$request->validate
功能呢?

您可以这样做,因为您已经在中间件中设置了
租户
连接:

$request->validate([
    'email' => 'required|unique:tenant.clients'
]);

您可以这样做,因为您已经在中间件中设置了
tenant
连接:

$request->validate([
    'email' => 'required|unique:tenant.clients'
]);

您不能使用
tenant.clients
,因为您正在中间件中添加
数据库.connections.tenant
。否?@ChinLeung是的,我可以,它起作用了。你想把它设置为我可以接受的答案吗?好了:)你不能使用
tenant.clients
,因为你正在中间件中添加一个
数据库。连接。tenant
。否?@ChinLeung是的,我可以,它起作用了。您想将其设置为一个答案,以便我可以接受吗?好了:)