猿问

使用自定义租户连接即时验证 Laravel 请求

我正在创建一个具有多个数据库的 SaaS 应用程序,并根据登录用户即时设置与数据库的连接。当我试图弄清楚如何做时,您可以在此处查看我的问题和解决方案.

我现在的问题是使用$request->validate具有两个功能uniqueexists功能。

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

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

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

目前,如果我这样做:

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

我收到一条错误消息:

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

这是正确的,因为我的 Admin 数据库没有 table clients。那么,在我现有的系统中,我如何才能将该$request->validate功能与我的子数据库一起使用?


慕少森
浏览 89回答 1
1回答

狐的传说

您可以这样做,因为您已经tenant在中间件中设置了连接:$request->validate([    'email' => 'required|unique:tenant.clients']);
随时随地看视频慕课网APP
我要回答