我目前正在Laravel 5.4项目中尝试执行以下操作
$this->belongsToMany(Module::class,'platform_modules_acquired', 'platform_id', 'module_id');
现在,当表module
在admin
数据库中时,类platform_modules_acquired
从clients
数据库中的表中提取。当我尝试运行上述代码时,出现错误,提示在platform_modules_acquired
数据库中找不到admin
表。
我尝试通过说该表为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
数据库中查找?
答案 0 :(得分:1)
您可以在关系内部使用这样的连接:
$this->belongsToMany(Module::class,'clients.platform_modules_acquired', 'platform_id', 'module_id');