我在两个不同的服务器上有两个应用程序。 在第一个Laravel应用程序中,我有用户模型,在secound应用程序中,我有博客模型。
它们之间存在多对多关系,用户可以拥有多个博客,一个博客可以属于多个用户。 他们有两个不同的数据库,但在一台服务器中,所有内容都像一样构建,只有一个应用程序。
他们有一个REST API,并在它们之间进行通信。问题是,我不能在它们之间建立真正的关系(比如Eloquent模型中的 belongsToMany ),我无法列出用户的博客。
有没有办法复制" User :: blogs()" 关系函数,对 Blog :: class 进行一些查询工作?对于例如选择数据透视表中user_id等于1的所有博客?
答案 0 :(得分:0)
<?php
class User extends Model{
protected $connection = 'Your Connection';
public function blogs(){
return $this->belongsToMany(Blog::class);
}
}
blog.php的
class Blog extends Model{
protected $connection = 'Your other connection';
public function users(){
return $this->belongsToMany(User::class);
}
}
您可以在database.php
中设置多个连接,并为每个模型分配不同的连接。
我假设你有一个user_blogs表。
希望这会有所帮助。
答案 1 :(得分:0)
我找到了,就像这样:
Blog :: join('blog_user','blogs.id','=','blog_user.blog_id') - &gt; where('blog_user.user_id','=',$ this-&gt ;用户id) - &GT;得到(); 强>