laravel8.0 多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题

1. 运行环境

1). 当前使用的 Laravel 版本?

laravel 8.83.27

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.0.2
php-fpm 版本:8.0.2

3). 当前系统

window10

4). 业务环境

phpstudy集成环境

5). 相关软件版本

mysql 8.0.12
nginx 1.15.11

2. 问题描述?

项目有多个数据库,company_common_test主数据库, company_test_$companyId 公司数据库。根据laravel 的多对多关联关系belongsToMany方法(查询公司人员,部门,多对多关系)关联查询company_common_test主数据库和 company_test_1001公司库时,

laravel8.0  多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题

报错:公司库连接了主数据库的数据表,导致表找不到

laravel8.0  多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题
每个模型中,我都设置了相应的数据库连接

laravel8.0  多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题

laravel8.0  多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题

laravel8.0  多对多关联关系belongsToMany方法 连接不同数据库查询 报错问题

但还是出现了 数据库连接 不能找到相应的数据表问题

3. 您期望得到的结果?

希望关联关系中,不同的数据表模型能连接不同数据库,查询

4. 您实际得到的结果?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

给你一个方案,你去调试一下

class AdminUser extends Model
{
    public function departments()
    {
        $instance = new InfoCompanyDepartment();
        $query = $instance->newQuery();
        return new BelongsToMany($query, $this, 'admin_user_id', 'id', null);
    }
}
1年前 评论
nb_xw (楼主) 1年前
sparkinzy (作者) 1年前
sparkinzy (作者) 1年前
讨论数量: 14
1年前 评论
nb_xw (楼主) 1年前
Rache1 (作者) 1年前
nb_xw (楼主) 1年前
Rache1 (作者) 1年前
nb_xw (楼主) 1年前

给你一个方案,你去调试一下

class AdminUser extends Model
{
    public function departments()
    {
        $instance = new InfoCompanyDepartment();
        $query = $instance->newQuery();
        return new BelongsToMany($query, $this, 'admin_user_id', 'id', null);
    }
}
1年前 评论
nb_xw (楼主) 1年前
sparkinzy (作者) 1年前
sparkinzy (作者) 1年前
        'mysql' => [
           // ...
            'prefix' => env('DATABASE_PREFIX'), // mg_
           // ...
        ],
1年前 评论
nb_xw (楼主) 1年前

先顶一下,明天给你我运行多个项目,跨库跨服务器无痛关联

1年前 评论
nb_xw (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!