Laravel Hyn多租户路由在所有数据库中搜索价值

特拉维斯·约翰斯顿(Travis Johnston)

试图弄清楚这是否可行,但我正在从事一个SaaS交流项目,该项目允许客户将文本消息发送给联系人。这些联系人可以根据需要进行回复,以提供双向通讯。

问题是在电话api中设置了特定的回调URL,这将需要正确路由传入的文本请求。每个客户都有自己的电话号码,所以我希望能够接收路由中的传入请求,在所有租户数据库中搜索电话设置表,如果找到,则继续保存文本消息以正确地继续请求,查找在创建的任何自动回复设置中,将文本转发到另一个号码,等等。所有这些都针对每个租户。

是否可以在路由/控制器中的所有租户数据库中进行搜索,然后将响应正确转发到该租户的数据库?

如果不是这样,或者它比较干净,是否可以代替连接到主/核心租户,并搜索电话号码和主机名的主表,然后以这种方式将请求重定向到合适的租户?如果是这样,我将需要能够连接master数据库,以便在每个客户端进行更改时存储和更新每个客户端的电话号码。

特拉维斯·约翰斯顿(Travis Johnston)

我可以通过在主机名表中添加电话号码,在此处查找匹配项并重置与该租户的当前连接来解决此问题。

$hostname = DB::table('hostnames')->select('*')->where('phone_number', $request->To)->first();
if($hostname->fqdn != 'defaultdomain.com'){
  $dbname = DB::table('websites')->select('uuid')->where('id', $hostname->website_id)->first();

  Config::set("database.connections.tenant", [
    "driver"   => 'mysql',
    "host" => 'localhost',
    "database" => $dbname->uuid,
    "username" => env('DB_USERNAME'),
    "password" => env('DB_PASSWORD')
  ]);

  Config::set('database.default', 'tenant');
  DB::purge('tenant');
  DB::reconnect('tenant');
}
//Continue with contact info and storing phone logs

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在所有数据库中搜索价值

使用Laravel APi时搜索返回数据库中的所有数据

在雄辩的数据库Laravel中按最大价值搜索

Laravel通过schedule命令遍历数据库中的所有数据

使用 Laravel 向存储在数据库中的所有数字发送 nexmo 短信

如何在laravel中建立一个多租户数据库,其中每个租户都有多个用户?

现有数据库中的Laravel种子数据库

Laravel没有将所有数据插入数据库

Laravel 8-没有数据库连接的资源路由

从Laravel中的数据库模型获取所有字段

使用Hyn /多租户在Laravel项目中设置测试

在所有数据库中的过程/函数中搜索表用法

如何使用数据表中的选定项目作为数组使用laravel将每行列出的所有数据保存到数据库中

Laravel 5.1:迁移现有数据库

Laravel 连接到没有数据库的 MySQL

在 Laravel 5.3 中使用现有数据库

在所有数据库表中搜索 PK 或 FK

如何检查所有数据(如果没有错误),然后使用Laravel更新到数据库

从Laravel中的现有数据库为存储过程,函数和事件创建迁移

没有数据库的Laravel中的JWT身份验证

从Laravel 4中的现有数据库创建迁移

如何从Laravel中的现有数据库创建迁移和模型

多租户中的 Laravel Api 多租户

无法使用 laravel 在 mongodb 数据库中搜索数据

Laravel多对多-不同的数据库

从 Laravel 数据库迭代数组时没有数据库条目

更改现有数据库连接的数据库-Laravel

Laravel具有多个表的搜索数据库

在Laravel中实现多租户