3 相互之间的关系进行订阅
3 relationships within each others for subscription
我有主题标签,用户可以订阅它们。这是我为订阅所做的:
function hashtag(){
return $this->belongsToMany('App\Hashtag');
}
并且在订阅模型中也有用户关系:
function user(){
return $this->belongsToMany('App\User');
}
user
模型有 subscribes
,它应该给我 Authed 用户订阅的主题标签。这是:
function subscribes(){
return $this->hasMany('App\Subscription');
}
现在使用此代码我尝试访问 hashtag
s Auth
ed 用户 subscribes
这里是查看代码:
@foreach(Auth::user()->subscribes->hashtag as $tags)
{{ $tags->name }}
@endforeach
我的想法是,laravel 在这里期待一种关系 table,称为 hashtag_subscription
或类似的东西。现在我对这些关系有点困惑。我非常喜欢通过创建额外的 table 来解决这个问题,我觉得我可以在没有额外的 table.
的情况下完成它
表格如下:user
、hashtag
、subscription
型号:Hashtag
、Subscription
、User
你需要先改变你的关系,因为据我了解,一个 Subscription
模型与 User
和 Hashtag
都有 One-To-One
关系:
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
我有主题标签,用户可以订阅它们。这是我为订阅所做的:
function hashtag(){
return $this->belongsToMany('App\Hashtag');
}
并且在订阅模型中也有用户关系:
function user(){
return $this->belongsToMany('App\User');
}
user
模型有 subscribes
,它应该给我 Authed 用户订阅的主题标签。这是:
function subscribes(){
return $this->hasMany('App\Subscription');
}
现在使用此代码我尝试访问 hashtag
s Auth
ed 用户 subscribes
这里是查看代码:
@foreach(Auth::user()->subscribes->hashtag as $tags)
{{ $tags->name }}
@endforeach
我的想法是,laravel 在这里期待一种关系 table,称为 hashtag_subscription
或类似的东西。现在我对这些关系有点困惑。我非常喜欢通过创建额外的 table 来解决这个问题,我觉得我可以在没有额外的 table.
的情况下完成它
表格如下:user
、hashtag
、subscription
型号:Hashtag
、Subscription
、User
你需要先改变你的关系,因为据我了解,一个 Subscription
模型与 User
和 Hashtag
都有 One-To-One
关系:
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