Laravel实现模型不同数据库之间的关联

找了很多文档,也没找到,$this->setConnection("db2")->hasOne(...),也没有效果。

不废话,解决办法如下:

备注:使用该方案,数据库配置文件config/database.php不要使用表前缀,否则会在数据库名前加上前缀。(若有大佬能解決前缀问题,烦请告知,谢谢)

setTable('db2.profile'); // 设置该实例的表。db2是我的另一个数据库
        $query =$instance->newQuery();
        // 根据业务逻辑决定
        return new HasOne($query,$this,'user_id', 'id', null);// HasOne是laravel自带类
        return new BelongsTo($query,$this,'id', 'user_id',null); // BelongsTo是laravel自带类
        // 不能夸数据库关联查询
        return $this->hasOne(Profile::class, 'user_id', 'id');
    }

}

你可能感兴趣的:(Laravel,数据库,laravel,php)