我正在尝试使用两个数据库/连接开发一个新的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)
这个想法是在第一个数据库中创建帖子和类别表(默认连接),并在第二个数据库中创建category_post表。
laravel在他们的地方创建了这个表,但是当我想用eloquent检索数据时,laravel假设表category_post存在于第一个数据库中并且在找不到表时显示错误。
如何在第二个数据库的table category_post中进行laravel搜索。
答案 0 :(得分:0)
多个数据库不支持laravel关系。原因是laravel关系被转换为sql查询。