Laravel 3相互之间的订阅关系

Laravel 3相互之间的订阅关系,laravel,laravel-5,laravel-5.4,relationship,Laravel,Laravel 5,Laravel 5.4,Relationship,我有标签,用户可以订阅。以下是我为订阅所做的: function hashtag(){ return $this->belongsToMany('App\Hashtag'); } 订阅模式中还存在用户关系: function user(){ return $this->belongsToMany('App\User'); } user模型有subscribes,它应该给我授权用户订阅的hashtags。这是: function subscribes(){

我有标签,用户可以订阅。以下是我为订阅所做的:

function hashtag(){
    return $this->belongsToMany('App\Hashtag');
}
订阅模式中还存在用户关系:

function user(){
    return $this->belongsToMany('App\User');
}
user
模型有
subscribes
,它应该给我授权用户订阅的hashtags。这是:

function subscribes(){
    return $this->hasMany('App\Subscription');
}
现在,使用此代码,我尝试访问
标签
s
Auth
ed用户
subscribes
以下是查看代码:

@foreach(Auth::user()->subscribes->hashtag as $tags)
    {{ $tags->name }}
@endforeach
我认为,laravel希望这里有一个关系表,叫做
hashtag\u subscription
或类似的东西。现在我对这些关系有点困惑。我非常喜欢通过创建额外的表格来解决这个问题,我觉得我可以在没有额外表格的情况下完成它。

表格如下:
用户
标签
订阅


型号:
Hashtag
Subscription
User
您需要首先更改您的关系,因为据我所知,一个
订阅
型号与
用户
Hashtag
都有
一对一的关系:

function hashtag() {
    return $this->belongsTo('App\Hashtag');
}

function user() {
    return $this->belongsTo('App\User');
}
然后,您可以循环浏览用户订阅,并访问
Hashtag
和初始用户订阅的用户:

@foreach(Auth::user()->subscribes as $subs)
    {{ $subs->user->firstname }}
    {{ $subs->hashtag->name }}
@endforeach

我试过了,它期待着。名为hashtag_subscription的表。但在我看来没有必要这么做。一个订阅可以有一个标签?没错。可以将其视为youtube频道订阅。一个用户订阅一个频道。订阅是一对一对吗?我想我必须把belongsTo而不是belongsToMany放进去,对吗?