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');
}
现在,使用此代码,我尝试访问标签
sAuth
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放进去,对吗?