【问题标题】:Many-To-Many Relationship not working across databases (Laravel 5.2)多对多关系不适用于数据库(Laravel 5.2)
【发布时间】:2017-10-14 12:23:42
【问题描述】:

我正在尝试使用两个数据库/连接开发一个新的 laravel 5.2 应用程序 在 app/config/database 中指定了我的默认连接

 'default' => 'connection-one',

两个数据库之间的正常一对一关系按预期工作。

但是当使用多对多关系时问题就开始了

假设我有两个模型 Post 和 Category

一个帖子有很多类别,一个类别属于很多帖子

后模型:

class Post extends Model
{
   public function categories()
   {
      return $this->belongsToMany('App/Category');
   }    
}

类别模型

class Category extends Model
 {
   public function posts()
   {
      return $this->belongsToMany('App/Post');
   }    
}

模型中间体:

class CategoryPost extends Model
 {
   protected $connection = 'connection-two';
   protected $table = 'category_post_table';    
}

现在在迁移中,laravel 创建三个表(posts、categories 和 category_post)

想法是在第一个数据库中制作posts和category表(默认连接),在第二个数据库中制作category_post表。

laravel 在他们的位置创建了这些表,但是当我想用 eloquent 检索数据时,laravel 假设表 category_post 存在于第一个数据库中,并在他找不到表时显示错误。

如何在第二个数据库的表 category_post 中进行 laravel 搜索。

【问题讨论】:

    标签: php database laravel laravel-5.2


    【解决方案1】:

    不支持跨多个数据库的 laravel 关系。原因是laravel关系被翻译成sql查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      • 2016-11-03
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2020-08-04
      相关资源
      最近更新 更多