首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法调用多态关系的模型

无法调用多态关系的模型
EN

Stack Overflow用户
提问于 2020-12-21 12:13:44
回答 1查看 25关注 0票数 0

我正在试着联系一个(例如)多态关系中的visitable_id: 38 visitable_type:应用程序\线程。我可以使用下面的代码对用户执行此操作,但似乎不能对线程执行此操作:

刀片:

代码语言:javascript
复制
    @foreach ($visits as $visit)
        @if($visit->visitable_type == 'App\User')
        Viewing member profile <a href="/profiles/{{ $visit->user->name }}">{{ $visit->user->name }}</a>
        @endif
        @if($visit->visitable_type == 'App\Thread')
        Viewing thread <a href="/forums/{{ $visit->channel->slug }}/{{ $visit->slug }}/">
        {{ $visit->title }}</a>
        @endif
    @endforeach

控制器:

代码语言:javascript
复制
$visits = Visit::where('user_id', $user->id)->get();

型号:用户:

代码语言:javascript
复制
public function visits()
{
    return $this->morphMany(Visit::class, 'visitable');
}

public function visit()
{
    return $this->morphOne(Visit::class, 'visitable');
}

模型:访问:

代码语言:javascript
复制
public function user()
{
    return $this->belongsTo(User::class);
}

public function thread()
{
    return $this->belongsTo(Thread::class);
}

public function visitable()
{
    return $this->morphTo();
}

模型:线程:

代码语言:javascript
复制
public function visits()
{
    return $this->morphMany(Visit::class, 'visitable');
}

public function visit()
{
    return $this->morphOne(Visit::class, 'visitable');
}

是的,我真的不明白这里有什么问题,因为当它是用户时,我可以获得visitable_id和visitable_type,但当它是线程时,我就不能了。有谁能帮帮我吗?

谢谢你!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-21 13:02:19

在线程的情况下,我必须调用关系(因此$a>visitable>channel->slug)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65387470

复制
相关文章

相似问题

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