首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3个相互之间的关系供订阅

3个相互之间的关系供订阅
EN

Stack Overflow用户
提问于 2018-02-24 10:12:18
回答 1查看 21关注 0票数 0

我有哈希标签,用户可以订阅它们。以下是我订阅的内容:

代码语言:javascript
复制
function hashtag(){
    return $this->belongsToMany('App\Hashtag');
}

此外,订阅模型中还存在用户关系:

代码语言:javascript
复制
function user(){
    return $this->belongsToMany('App\User');
}

user模型有subscribes,它应该为我提供Authed用户订阅的哈希标签。下面是:

代码语言:javascript
复制
function subscribes(){
    return $this->hasMany('App\Subscription');
}

现在,通过这段代码,我尝试访问hashtagAuthed用户subscribes,这里是视图代码:

代码语言:javascript
复制
@foreach(Auth::user()->subscribes->hashtag as $tags)
    {{ $tags->name }}
@endforeach

我认为,laravel希望这里有一个叫做hashtag_subscription之类的关系表。现在我有点搞不懂这些关系了。我喜欢通过创建额外的表格来解决这个问题,我觉得没有额外的表格我就能完成它。

表如下:userhashtagsubscription

型号:HashtagSubscriptionUser

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-24 10:21:05

您需要首先更改您的关系,因为据我所知,有一个Subscription模型与UserHashtag都有One-To-One关系。

代码语言:javascript
复制
function hashtag() {
    return $this->belongsTo('App\Hashtag');
}

function user() {
    return $this->belongsTo('App\User');
}

然后,您可以循环遍历用户订阅,并访问初始用户订阅的Hashtag和用户:

代码语言:javascript
复制
@foreach(Auth::user()->subscribes as $subs)
    {{ $subs->user->firstname }}
    {{ $subs->hashtag->name }}
@endforeach
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48961645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档