Laravel即时通过自定义租户连接请求验证

时间:2019-06-27 13:11:52

标签: php laravel

我正在创建一个具有多个数据库的SaaS应用程序,并且该数据库的连接是根据登录的用户即时设置的。You can see my problem and solution here回到我试图弄清楚该怎么做时

我现在的问题是同时使用$request->validateunique函数的exists函数。

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

'email' => 'unique:connection.clients,email'

但这迫使我在config\database.php文件中创建连接,而这是我不想做的事情。

当前,如果我这样做:

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

我看到一个错误:

  

找不到基本表或视图:1146表   'mydb_admin.clients'

这是正确的,因为我的Admin数据库没有表clients。那么,在已有系统的情况下,如何在子数据库中使用$request->validate函数?

1 个答案:

答案 0 :(得分:0)

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

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