gpt4 book ai didi

mysql - Laravel 跨不同数据库的关系

转载 作者:行者123 更新时间:2023-11-29 09:54:10 24 4
gpt4 key购买 nike

我目前正在尝试在 Laravel 5.4 项目中执行以下操作

$this->belongsToMany(Module::class,'platform_modules_acquired', 'platform_id', 'module_id');

现在,module 类从 admin 数据库中的表中提取,而表 platform_modules_acquired 位于 clients 中> 数据库。当我尝试运行上述代码时,出现错误,指出在 admin 数据库中找不到 platform_modules_acquired 表。

我尝试更改上述请求,说该表是clients.platform_modules_acquired,但仍然找不到该表。我还尝试附加 ->using('PlatformModules::class') 但仍然遇到相同的错误...

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'admin.plataformas_modulos_contratados' doesn't exist (SQL: select 'module' from 'modules' inner join 'platform_modules_acquired' on 'modules'.'id' = 'platform_modules_acquired'.'module_id' where 'platform_modules_acquired'.'platform_id' = 187)

我怎样才能告诉这个关系在 clients 数据库中查找表?

最佳答案

您可以在关系内部使用连接,如下所示:

$this->belongsToMany(Module::class,'clients.platform_modules_acquired', 'platform_id', 'module_id');

关于mysql - Laravel 跨不同数据库的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54189775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com