我有哈希标签,用户可以订阅它们。以下是我订阅的内容:
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的Authed用户subscribes,这里是视图代码:
@foreach(Auth::user()->subscribes->hashtag as $tags)
{{ $tags->name }}
@endforeach我认为,laravel希望这里有一个叫做hashtag_subscription之类的关系表。现在我有点搞不懂这些关系了。我喜欢通过创建额外的表格来解决这个问题,我觉得没有额外的表格我就能完成它。
表如下:user、hashtag、subscription
型号:Hashtag,Subscription,User
发布于 2018-02-24 10:21:05
您需要首先更改您的关系,因为据我所知,有一个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 }}
@endforeachhttps://stackoverflow.com/questions/48961645
复制相似问题